MySQL の基本ステートメントを最適化するための 10 の原則の概要

MySQL の基本ステートメントを最適化するための 10 の原則の概要

序文

データベースの応用において、プログラマーは継続的な実践を通じて多くの経験を積んできました。これらの経験は、一般的に適用可能なルールです。すべてのプログラマーは、これらを理解して覚えておく必要があります。SQL を構築するときは、良い習慣を身に付けてください。では、早速、詳細な紹介を見てみましょう。

MySQL の基本的なステートメント最適化の原則

1. 列に対する操作はインデックスの失敗の原因となるため、できるだけ避けてください。

YEAR(d) >= 2011 となる t から * を選択します。

最適化された

d >='2011-0101' となる t から * を選択

2. JOINを使用する場合は、小さな結果セットを使用して大きな結果セットを駆動し、複雑なJOINクエリを複数のクエリに分割する必要があります。複数のテーブルをJOINすると、ロックやブロックが増える可能性があるためです。

3. LIKEを使用する場合は、%%の使用を避けてください。

4. 指定されたクエリフィールドを選択し、すべてをチェックせず、メモリを節約します。

5. バッチ挿入ステートメントを使用してインタラクションを節約する

6. limit のカーディナリティが比較的大きい場合は、between を使用します。between は limit よりも高速ですが、between にも欠点があります。id の途中で改行があったり、id の中央部分が読み込まれなかったりすると、データが少なくなります。

t から * を選択 where 1 limit 100000,10

最適化された

IDが100000から100010の間のtから*を選択

7. 複数のランダムレコードを取得するためにrand関数を使用しないでください

8. NULLの使用を避ける

9. count(id)ではなくcount(*)を使用してください

10. 不要なソート操作は行わず、できるだけインデックス内でソートを完了するようにしてください。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • MYSQL設定パラメータの最適化の詳細な説明
  • MySQL は SQL ステートメントの最新のレコードをクエリします (最適化)
  • MySQL数千万の大規模データに対する30のSQLクエリ最適化テクニックの詳細な説明
  • 時間に基づいて日付をクエリするためのMySQL最適化テクニック
  • MYSQL クエリの効率を向上させる 10 の SQL ステートメント最適化テクニック
  • MySQL 百万レベルのデータページングクエリ最適化ソリューション
  • 数千万のデータを扱うMySQLのページングクエリのパフォーマンスを最適化する
  • MySQL 最適化の概要 - クエリエントリの合計数
  • MYSQL開発パフォーマンス調査:バッチデータ挿入の最適化方法
  • MySQL 最適化戦略 (推奨)

<<:  Linux カーネル デバイス ドライバー システム コールに関する注意事項

>>:  反応ルーティングでパラメータを渡すいくつかの方法についての簡単な説明

推薦する

MySQL バッチ挿入ループの詳細なサンプルコード

背景数日前、MySql でページングを行っていたときに、ページングに制限 0,10 を使用するとデー...

IE6 の select を div でカバーできないバグの解決方法

div を使用してマスクを作成したり、ポップアップ ウィンドウをシミュレートしたりします。ただし、I...

HTML テーブル マークアップ チュートリアル (37): 背景画像属性 BACKGROUND

テーブル ヘッダーの背景画像を設定します。任意の GIF または JPEG 画像ファイルを使用できま...

MySQLテーブルの自動インクリメント列の初期値をリセットする方法

MySQLテーブルの自動インクリメント列の初期値をリセットする方法1. 問題の説明MySQL データ...

Linux でパスワードを入力せずに sudo コマンドを実行する方法

sudo コマンドを使用すると、信頼できるユーザーは別のユーザー (デフォルトでは root ユーザ...

MySQL データベース テーブルとデータベース パーティショニング戦略

まず、テーブルを分割する必要がある理由について説明します。データシートが数百万に達すると、1 回のク...

MySQL は重複データを削除して最小の ID ソリューションを維持します

オンラインで検索して重複データを削除し、ID が最小のデータだけを残します。方法は次のとおりです。 ...

Docker は固定コンテナ IP アドレスを実現するためにカスタム ネットワークを作成します。

デフォルトのブリッジ ネットワークのため、コンテナーを再起動すると IP アドレスが変更されます。シ...

燃える炎効果の英語フォント16種類をシェアする

私たちは視覚の世界に住んでおり、多くの視覚効果に囲まれています。コンピューターの前にいても、屋外にい...

Xampp サーバーで MySQL パスワードを変更する方法 (画像付き)

今日、PHP で作業しているときに、Xampp サーバーに付属の mysql データベースを使用する...

MySQL で固定されていない位置から文字列要素を抽出する方法

序文注: テストデータベースのバージョンはMySQL 8.0ですテストデータ: テーブルzqs(id...

CentOS7 で yum ソースをインストールし、コマンド rz と sz をアップロードおよびダウンロードする方法 (画像付き)

** CentOS7 で yum ソースをインストールし、rz および sz コマンドをアップロー...

MySQLでユーザーを作成し、ユーザーに権限を付与する方法の詳細なチュートリアル

目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...

MySQLデータベースインデックスの詳細な説明

目次1. MySQLインデックスの紹介2. MySQLの5種類のインデックスの詳しい説明1. 総合索...

MySQL 変数宣言とストアド プロシージャの分析

変数の宣言グローバル変数の設定@a='新しい変数' を設定します。関数やストアドプロ...