Yii のアプリケーションに MySQL データベースを使用しています。データベースには、小さなテーブル (ユーザーの詳細を保存するようなもの) と大きなテーブル (大きな請求書データを保存するもの) の両方が含まれています。大きなテーブルからデータを取得するためにクエリを結合しているため、サイトが非常に遅くなります。そこで、パフォーマンスを向上させるために MySQL クエリ キャッシュを有効にしました。しかし、それは恒久的な解決策ではありません。日が経つと、データは非常に巨大になります。パフォーマンスを改善するための提案はありますか? 大きなデータクエリを処理するために Yii と統合できるデータベースは他にありますか?
クエリは次のとおりです。
SELECT u.accountnumber, u.chargedescription, ROUND(SUM(u.netamount), 2) as cost, p.value, p.price FROM `reports` `u` JOIN `reportsdata` `p` ON u.trackingnumber=p.value WHERE chargedescriptioncode='003' GROUP BY `u`.`trackingnumber`
"reports" と "reportsdata" はどちらも大きなデータ テーブルです。両方とも、巨大なリストである追跡番号に結合されています。そのため、trackingnumber が大きくなるたびに、クエリが遅れて CPU の実行時間が失われます。