ホームページ >バックエンド開発 >PHPチュートリアル >php mysql php MySQL とページングの効率

php mysql php MySQL とページングの効率

WBOY
WBOYオリジナル
2016-07-29 08:38:08885ブラウズ

最も基本的なページング方法:
SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ...
小規模および中規模のデータ量の場合、必要な唯一の問題はこのような SQL だけです。注意点は、必ずインデックスを使用することです:
たとえば、実際の SQL ステートメントが次のステートメントに似ている場合は、category_id、id 列に複合インデックスを構築することをお勧めします:
SELECT * FROM Articles WHERE category_id = 123 ORDER BY id LIMIT 50, 10
サブクエリのページング方法:
データ量が増えると、ページ数もどんどん増えていきます。次の数ページの SQL は次のようになります。
SELECT * FROM Articles WHERE category_id = 123 ORDER BY id LIMIT 10000, 10
つまり、ページが後ろに進むほど、LIMIT ステートメントのオフセットが大きくなり、速度が大幅に遅くなります。
この時点で、おおよそ次のようにサブクエリを通じてページングの効率を向上させることができます:
SELECT * FROM Article WHERE category_id = 123 AND id >= (
SELECT id FROM Articles ORDER BY id LIMIT 10000, 1
) LIMIT 10
- --------------------------------------
実際に戦略と同様の方法が使えますモード ページングを処理するには、たとえば、ページングが 100 ページ以内であると判断された場合は、最も基本的なページング方法を使用します。100 ページを超える場合は、サブクエリ ページング方法を使用します。

上記では、php mysql の内容を含め、php mysql とページングの効率について紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。