データのクエリを実行すると、クエリ時間が非常に長く、SQLを最適化する必要があることがわかりました。最初にSQL実行プランを確認し、SQL実行プランに従って最適化します。
1.インデックスの失敗を防ぐためのインデックスの確立
具体的には、Baidu!
特に、where句の「=」の左側で関数、算術演算、またはその他の式演算を実行しないでください。そうしないと、システムがインデックスを正しく使用できない場合があります。
2.ページングクエリの効率
tから選択*年齢が18歳を超える場合、年齢の制限は1000,10に制限されます。
t_userテーブルのデータ量が多すぎる場合、10アイテムのみのクエリでも非常に遅くなります。次のような条件として、前のクエリ結果からのIDを転送できます。
select * from t_user where age> 18 and id>#{id} order by age desc limit 1000,10;
3. inの使用
データ量が多い場合は、存在に置き換えてください!
4.サブクエリを結合に置き換えてみてください
5.左端の原則
まず、SQLの実行順序を理解します。たとえば、SQLには5つのステップがあります。最初のステップがフィルタリングされるときは、範囲を最小化するようにしてください。
つづく...