2017-08-12 8 views
0

私はYii2 GridViewを使ってActiveDataProviderのデータを表示していますが、ページングが有効になっているときにその速度はうまくいきます。しかし、すべての行を表示すると、すべてが遅れます。Yii2:GridView速度最適化

私は通常のコントローラ - >ビューフローを使用しています。かかわらず、パフォーマンスの行がActiveDataProviderによってフェッチ及びDYのGridViewのレンダリングされたページ付けらなし

Normal Controller
+0

結果クエリには何行ありますか? – scaisEdge

+0

それは、テーブルによっては90,000レコードや20,000レコードのように大きくなったり、1,300レコードで実際に遅いものがあることにもよりますが、 – TechMafioso

+0

ページネーションがなければ、すべての行がフェッチされてレンダリングされることに注意してください。 1300から90000までのレコードを表示???????? – scaisEdge

答えて

0

Added Database Caching also ..

。これは、受け入れ可能なユーザーエクスペリエンスの点では役に立たない。

クライアント側にデータ全体が必要な場合は、ActiveDataProviderとgridviewの使用を避け、createCommand(....);とsqlを持つsqlコマンドcreatを使用し、結果をaクライアント/サイドを処理するJSON構造

+0

私の問題は、ユーザーが(何らかの理由で)すべての行をロードしたい場合、グリッドビューのサイズ変更などの遅延が発生するJquery UIがあることがあります。 – TechMafioso

+0

答えははっきりしています。ページングなしですべての行がフェッチされ、レンダリングされます。もっと速くしたい場合は、提案通りにできます。他の方法はありません。 – scaisEdge

関連する問題