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 カーネル デバイス ドライバー システム コールに関する注意事項

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

推薦する

背景画像に CSS3 変換を適用するためのソリューション

CSS 変換は便利ですが、背景画像にはまだ適用されていません。この投稿では、背景画像を回転させたい場...

Node の SMS API で検証コード ログインを実装するためのサンプル コード

1. ノードサーバーのセットアップ + データベース接続ここでの操作は比較的簡単でわかりやすいです。...

MySQL 5.7.17 圧縮パッケージのインストール不要の構成プロセス図

MySQL データベース管理ソフトウェアには、エンタープライズ エディションとコミュニティ エディシ...

Docker は MySQL をインストールし、中国語の文字化けの問題を解決します

目次1. MySQLイメージを取得する2. ダウンロードが完了したか確認する3. MySQLはローカ...

Vue の this.$router と this.$route の違いと push() メソッド

公式文書には次のように記されている。ルーターを挿入することで、どのコンポーネントでも this.$r...

Flask アプリケーションの Docker デプロイ実装手順

1. 目的Flask アプリケーションをローカルで作成し、Docker でパッケージ化し、独自のサー...

MySQL スロークエリ: スロークエリを有効にする

1. スロークエリの用途は何ですか? long_query_time を超えて実行されるすべての S...

Dockerコンテナ起動時に固定IPを設定する実装

Dockerインストール後のネットワークタイプ [root@insure updev]# docke...

js 属性オブジェクトの hasOwnProperty メソッドの使用

オブジェクトの hasOwnProperty() メソッドは、オブジェクトに特定の独自の (継承され...

Linux サーバーで MySQL リモート接続を有効にする方法

序文以前の非MKレコードを再編成するためのMySQLの学習説明する有効になっていない場合、データベー...

Windows Server 2008R2 ファイル サーバーを Windows Server 2016 にアップグレードする

ユーザー組織には、ドメインに参加している 2 台の Windows Server 2008 R2 フ...

HTMLテーブルレイアウトの実践的な使い方の詳しい説明

テーブルはいつ使用されますか?最近では、Web ページの全体的なレイアウトにテーブルが使用されること...

MySQL で単一のフィールド内の複数の値を分割および結合する方法

複数の値を組み合わせて表示これで、図1から図2に示す要件が揃いました。 どうやってやるんですか?次の...

Zabbix 5.0 ディスク自動検出と読み取り/書き込み監視の問題を分析する

ディスクを自動的に検出する構成キーの値注: このキー値は Linux プラットフォームでのみサポート...