0
私は数百万のレコードを持つMySQLテーブルを持っており、毎日数百のレコードがテーブルに挿入されています。フロントエンドで 最も頻繁なMySQL SELECTクエリを最適化する方法
は、それがクエリを使用して、最新の100件のレコードを表示します。SELECT * FROM
table_a
ORDER BY creation_time DESC
LIMIT 100
ユーザーがページを訪問するたびに、それは大きなテーブルをスキャンしてソートを実行します。この手順では、リソースが非常に消費されるように見えます。
私はVIEW
がMySQLにあることを知ります。結果を保存するビューを作成すると、パフォーマンスを最適化するのに役立ちますか? view
は元のテーブルと同期していますか?または、クエリのパフォーマンスを向上させる他の手段?
ありがとうございます!
ビュースロー物事をダウン。索引に着目して始める。それらの行がぶら下がっているかどうかを確認してください。 – Drew
@Drewの点に関しては、 'creation_time'にインデックスを追加することができます。 'ALTER TABLE' table_a' ADD INDEX 'idx_table_a_creation_time'(' creation_time') – 1000111
ありがとうございます。そのような状況を処理する最善の方法は何ですか?テーブルは日々増えていますが、常に最新のレコードが選択されています。 – Yota