ホームページ >バックエンド開発 >PHPチュートリアル >MySQL マニュアル バージョン 5.0.20-MySQL の最適化 (2) (1) (2)_PHP チュートリアル

MySQL マニュアル バージョン 5.0.20-MySQL の最適化 (2) (1) (2)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:03:31927ブラウズ


テーブル内には一致する行が最大 1 行あり、クエリの先頭で読み取られます。レコードは 1 行しかないため、その行のフィールド値は残りの最適化プロセスでは定数値として扱うことができます。 Const テーブルは一度読み取るだけで済むため、クエリが非常に高速です。 const は、PRIMARY KEY または UNIQUE インデックスとの固定値の比較がある場合に使用されます。次のクエリでは、tbl_name は const テーブルです:


SELECT * FROM tbl_name WHERE Primary_key=1;

SELECT * FROM tbl_name

WHERE Primary_key_part1=1 AND Primary_key_part2=2;


eq_ref


このテーブルからレコードの行が読み取られ、前のテーブルから読み取られたレコードと結合されます。 const 型とは異なり、これが最適な接続型です。これは、インデックスのすべての部分が結合に使用され、インデックスのタイプが PRIMARY KEY または UNIQUE である場合に使用されます。 eq_ref は、「=」比較を行うときにフィールドを取得するために使用できます。比較される値は固定値または式であり、テーブル内のフィールドは式で使用でき、テーブルを読み取る前に準備されています。次の例では、MySQL は eq_ref 接続を使用して ref_table を処理します。 1= other_table.column

AND ref_table.key_column_part2=1;


ref


取得した値に一致するテーブル内のすべてのレコードがフェッチされ、前のテーブルからフェッチされたレコードと結合されます。 ref は、結合子がキーの左端のプレフィックスを使用する場合、またはキーが PRIMARY KEY または UNIQUE インデックスではない場合 (つまり、結合子がキー値に基づいて 1 つのレコードしか取得できない場合) に使用されます。これは、キー値に基づいて少数の一致するレコードのみがクエリされる場合に適した接続タイプです。 ref は、= 演算子を使用して取得フィールドを比較する場合にも使用できます。次の例では、MySQL は ref を使用して ref_table を処理します。


http://www.bkjia.com/PHPjc/630972.html


www.bkjia.com


tru​​e


http://www.bkjia.com/PHPjc/630972.html


技術記事

テーブル内には一致する行が最大 1 行あり、クエリの先頭で読み取られます。レコードは 1 行しかないため、残りの最適化プロセスでは、この行のレコードのフィールド値は...

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