0

最近の記事のリストを取得するために静的関数を使用する WAMP (PHP 5.4.3) で実行されている Kohana 3.3 アプリケーションがあります。ページをロードすると、アプリケーションの実行時間 (Kohana Profiler 経由) は6.7 秒です。get_recent メソッドを呼び出さずに (空の配列を渡して) 同じページを読み込むと、アプリケーションの実行時間は0.3 秒になります。

これは、この静的メソッドが問題を引き起こしていることを示しています。生の MySQL を実行しましたが、1.4 秒かかりました。

メソッド内のコードは次のとおりです。

$articles = self::factory('user_articles')
                ->join('articles', 'INNER')->on('user_articles.article_id', '=', 'articles.id')
                ->order_by('user_articles.created_at', 'ASC')
                ->limit(10)
                ->group_by('articles.id')->find_all();

と に索引がありuser_articles.article_idますarticles.id。クエリを最適化したり、実行時間を短縮したりするために他にできることはありますか?

4

2 に答える 2

0

インデックスを追加できますcreated_at-それが役立つかどうかは生のSQLで確認してください。
ORM を使用せずに DB Builder クエリを実行することもお勧めです。

于 2013-01-28T07:41:55.350 に答える