php下MYSQL limitの最適化

1037 ワード

同じ10個のデータを取ってセットします。 * from yanxue 8_visit limit 10000,10 プロジェクトをまとめる * from yanxue 8_visit limit 0,10は一桁の数ではありません。     ネット上でも多くのlimitに関する五条の最適化基準は、すべてmysqlマニュアルから翻訳されています。正しいですが、実用的ではありません。今日発見した文章はlimitの最適化について書いてあります。いいです。原文の住所:http://www.zhenhua.org/article.asp?id=200     文の中では直接limitを使うのではなく、まずoffsetのIDを取ってから直接limitを使う。 sizeでデータを取得します。彼のデータによると、limitを直接使うより明らかにいいです。ここでは具体的にデータを使って二つの状況に分けてテストを行います。テスト環境win 2033+p 4ダブルコア(3 GHZ) +4 Gメモリ mysql 5.0.19)1、オフセットが小さい時。  プロジェクト * from yanxue 8_visit limit 10,10    何度も運転して、時間は0.0004-0.0005の間に維持します。   プロジェクト * From yanxue 8_visit Where vid >=( プロジェクト vid From yanxue 8_visit Order By vid limit 10,1) limit 10   何度も運転して、時間は0.0005-0.0006の間で維持して、主に0.0006です。 結論:オフセットoffsetが小さい場合は、直接にlimitを使うのが良いです。これは明らかにサブクエリの原因です。2、オフセットが大きい時。  プロジェクト * from yanxue 8_visit limit 10000,10   何回も運転して、時間は0.0187ぐらい維持します。   プロジェクト * From yanxue 8_visit Where vid >=( プロジェクト vid From yanxue 8_visit Order By vid limit 10000,1) limit 10回以上運転して、時間は0.0061ぐらいに維持して、前者の1/3だけあります。オフセットが大きいほど、後者が優れていると予想されます。