下からmysqlテーブルをスキャンします
-
27-09-2019 - |
質問
MySQL Selectステートメントを実行すると、以前に非常に多数の行を削除していたため、非常に時間がかかります。
上からではなく、テーブルが下からスキャンを開始する方法はありますか?
解決
クエリは、特定の順序でテーブルをスキャンしません。特定のインデックスを順序でトラバースする場合(例:範囲スキャン)、これは注文を使用したためかもしれません。
データベースはそのように機能しません。そのように彼らの行動に頼ることはできません。
フルテーブルスキャンを行っている場合は、特に最近多くの行を削除した場合は、しばらく時間がかかることを期待してください。ただし、たくさんの行がある場合はさらに時間がかかります。
クエリが代わりにインデックスを使用していることを確認してください。説明計画を調べて、インデックスを使用していることを確認してください。
他のヒント
たぶん、テーブルに追加のインデックスが必要です。また、最適化テーブルを発行し、時々テーブルを分析することも害はありません。クエリのパフォーマンスは、適切なインデックスがあれば、削除された行、さらには多数の行を持つことで影響を受けるべきではありません。
所属していません StackOverflow