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

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

推薦する

Nodejs での WeChat アプレット メッセージ プッシュの実装

サブスクリプションメッセージテンプレートを選択または作成するWeChat アプレットにログインし、「...

SQLで同じフィールドの異なる値のデータ統計を実行する

適用シナリオ: シールのさまざまな状態に応じて、さまざまな状態のシールの数をカウントする必要がありま...

Dockerが独自のローカルイメージリポジトリを構築するための手順

1. 環境と準備1. Ubuntu 14.04 2.Docker環境2. 建設プロセス1. ミラーソ...

HTML サブタグと sup タグ

今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。定義と使用法: <...

この SQL 書き込み方法では本当にインデックスが失敗するのでしょうか?

序文インターネット上には、MySQL でインデックスにヒットできないさまざまな状況をまとめた記事がよ...

MySql マスタースレーブレプリケーションの実装原理と構成

データベースの読み取りと書き込みの分離は、トラフィック量の多い大規模システムやインターネット アプリ...

JavaScriptとTypeScriptの関係

目次1. JavaScript とは何ですか? 2. JavaScript は何に使用されますか? ...

React は入力値を取得し、2 つのメソッドの例を送信します

方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する...

MySQLデータベースのマスタースレーブレプリケーションの長い遅延に対する解決策

序文MySQL マスター スレーブ レプリケーションの遅延は、業界では長年の問題となっています。遅延...

ウェブページ内のFlash SWFファイルを変更する方法

これは多くの人が遭遇した問題だと思います。実際、Web ページから FLASH をダウンロードして修...

Vue でのスロット配置と使用状況分析

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

Navicat を使用して MySQL データベースをエクスポートおよびインポートする方法

MySql は、私たちが頻繁に使用するデータ ソースです。開発者が練習、小規模なプライベート ゲーム...

MySQLデータベースのデータテーブルに関する詳細な基本操作

目次1. 現在のデータベース内のテーブルを表示する2. テーブルを作成する3. 指定されたテーブル構...

Docker を使用して ELK ログ システムを構築する例

以下のインストールではすべて、インストール ルート ディレクトリとして ~/ ディレクトリが使用され...