ホームページ  >  記事  >  データベース  >  mysql ステートメントのクエリ手法とは何ですか?

mysql ステートメントのクエリ手法とは何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-10-21 16:57:313114ブラウズ

Mysql ステートメントのクエリ スキル: 1. 比較演算子で「=」を使用できる場合は、「<>」を使用しないでください; 2. クエリ結果が 1 つしかないことがわかっている場合は、「LIMIT」を使用してください1"; 3. 列の場合、適切なデータ型を選択します。 4. "SELECT *" の使用は避けてください。 5. LIMIT を使用してページング ロジックを実装します。

mysql ステートメントのクエリ手法とは何ですか?

mysql ステートメント クエリ スキル:

ヒント 1 比較に「=」を使用できる場合演算子、「<>"

"=」を使用しないでください。インデックスが使用される可能性が高くなります。

ヒント 2 クエリ結果が 1 つだけであることがわかっている場合は、「LIMIT 1」を使用してください。

「LIMIT 1」はテーブル全体のスキャンを回避でき、対応する結果は再度見つかりません。スキャンは続行されます。

ヒント 3 列に適切なデータ型を選択する

TINYINT を使用できる場合は、SMALLINT を使用しないでください。SMALLINT を使用できる場合は、使用しないでください。 INT. 真実はご存知の通り、ディスクとメモリの消費量は小さいほど良いのです。

ヒント 4: 大規模な DELETE、UPDATE、または INSERT クエリを複数の小さなクエリに変換する

数十行または数百行の SQL ステートメントを作成できますか? 非常に上品に見えます?ただし、パフォーマンスとデータ制御を向上させるために、クエリを複数の小さなクエリに分割できます。

ヒント 5 結果セットで重複が許可されている場合は、UNION の代わりに UNION ALL を使用します。

UNION ALL は重複を削除しないため、UNION よりも効率的です。

ヒント 6 同じ結果セットを複数実行するには、SQL ステートメントの一貫性を保ってください。

これの目的は、クエリ バッファを最大限に活用することです。

ヒント 7 "SELECT *" の使用は避けてください

テーブル内のすべての列をクエリしない場合は、SELECT * の使用を避けてください。フル テーブル スキャン インデックスを効果的に利用できないと、データベース サーバーの負担が増加し、データベース サーバーとアプリケーション クライアント間のネットワーク IO オーバーヘッドが増加します。

ヒント 8 WHERE 句の列には可能な限りインデックスを作成する必要があります。

すべての列ではなく、「最善を尽くす」だけです。インデックスが多すぎるとパフォーマンスが低下する場合があるため、地域の状況と実際の状況に応じて対策を調整してください。

ヒント 9 JOIN 句内の列には、可能な限りインデックスを作成する必要があります。

また、すべての列ではなく、「最善を尽くす」だけです。

ヒント 10 ORDER BY の列には可能な限りインデックスを付ける必要があります。

ORDER BY の列にインデックスを付けると、パフォーマンスが向上します。

ヒント 11 LIMIT を使用してページング ロジックを実装する

パフォーマンスが向上するだけでなく、データベースとアプリケーション間の不必要なネットワーク送信も削減されます。

ヒント 12 EXPLAIN キーワードを使用して実行計画を表示します。

EXPLAIN では、インデックスの使用状況とスキャンされた行を確認できます。

ヒント 13 MySQL の数値は四捨五入され、小数点以下 n 桁まで維持されます

その他の関連する無料学習の推奨事項: mysql チュートリアル #(ビデオ)

以上がmysql ステートメントのクエリ手法とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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