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