ホームページ >バックエンド開発 >PHPチュートリアル >mySql クエリが速い場合と遅い場合があるのはなぜですか?
ヘルプ: mySql クエリが速い場合と遅い場合があるのはなぜですか? ? ?
こんな感じです
コレクションショッピングサイトを作り、dx_gd_goodsに2,000万件のデータを格納し、カテゴリごとにインデックスを構築し、ルートカテゴリIDを追加しましたwhere の後、クエリを実行すると、最初は少し遅く、その後のクエリは比較的高速でしたが、良い時間は長くは続かず、再び非常に遅くなり、mysql がタイムアウトしてクエリが終了しました。データの取り出しを完了できませんでした。
explan を使用して情報を表示する場合、インデックスが使用され、クエリの種類は range でした
後でパーティションに分割し、カテゴリごとに分割したいと思いました。パーティション分割した後、クエリを実行します。最初の 7 回と 8 回の速度は依然として非常に高速です。クエリを続行すると、MySQL がタイムアウトになり、データを返すことができなくなります。
explan を使用して情報を表示する場合、パーティショニングが使用され、クエリ タイプは all です
mysql のバージョンは 5.1;
この状況を解決する方法がわかりません。今は解決策がありません。
-----解決策---------------------------- -
SQL ステートメントを見てください。
------解決策------------------
t_id はインデックス化されていますか? エンジンは何ですか? 。 。
この SQL はそれほど遅くないはずです。
------解決策----------------------
パーティションが原因のような気がします。t_id はインデックス作成後はそれほど遅くなるはずはありません。さらにテストするとわかります。
------解決策---------
パーティションの説明 select * ...構造を送信してください外に出て見てください
------解決策------------------
t_id >= 100101000 および t_id
インデックスは t_id に作成する必要があります
パーティショニングを t_id で分割する必要がある場合