テーブルの作成とインデックスの作成 テーブルtbl1を作成( id int ユニーク、sname varchar(50)、 インデックス tbl1_index_sname(sname desc) ); 既存のテーブルにインデックスを作成するための構文
MySQL では、インデックスを使用して、ORDER BY および GROUP BY ステートメントでソートおよびグループ化操作をすばやく実行することもできます。 インデックスの最適化を通じて MySQL ORDER BY ステートメントを最適化します。 1. ORDER BYインデックスの最適化 SQL ステートメントが次のとおりである場合: SELECT [列1],[列2],…. FROM [テーブル] ORDER BY [並べ替え]; [sort] 列にインデックスを作成すると、インデックスを使用して order by を最適化できます。 2. WHERE + ORDER BYのインデックス最適化 のような: SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [値] ORDER BY [sort]; 最適化による順序付けを実現するために、結合インデックス (columnX、sort) を作成します。 注: columnX が複数の値に対応する場合、次のステートメントはインデックスを使用して order by を最適化することはできません。 SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] IN ([value1],[value2],…) ORDER BY [sort]; 3. WHERE + 複数フィールド ORDER BY SELECT * FROM [テーブル] WHERE uid=1 ORDER x,y LIMIT 0,10; order by を最適化するためにインデックス (uid, x, y) を作成する方が、インデックス (x, y, uid) を作成するよりもはるかに優れています。 MySQL Order By はインデックスを使用してソートを最適化することはできません 1. 異なるインデックス キーに対して ORDER BY を実行します (key1 と key2 のインデックスを個別に作成します)。 SELECT * FROM t1 ORDER BY key1, key2; 2. 連続していないインデックス キー部分に対して ORDER BY を実行します (key_part1 と key_part2 に結合インデックスを作成し、key2 にインデックスを作成します)。 SELECT * FROM t1 WHERE key2=constant ORDER BY key_part2; 3. ASC と DESC の両方を使用する: (key_part1、key_part2 は共同インデックスを作成します) SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC; 4. レコードの検索に使用されるインデックス キーが ORDER BY に使用されるキーと同じではありません: (key1 と key2 は別々にインデックス化されます) SELECT * FROM t1 WHERE key2=constant ORDER BY key1; 5. WHERE 列と ORDER BY 列に式 (関数) を適用する場合、インデックスを使用して order by を最適化することはできません。 SELECT * FROM t1 ORDER BY YEAR(ログイン日付) LIMIT 0,10; 特別なヒント: 1>MySQL は一度に 1 つのインデックスしか使用できません。複数のフィールドでインデックスを使用する場合は、複合インデックスを作成します。 2> ORDER BY 操作では、MySQL は、ソート条件がクエリ条件式でない場合にのみインデックスを使用します。 上記は、MySQL がインデックスを使用して ORDER BY ソート ステートメントを最適化する方法の詳細です。MySQL の ORDER BY ソート ステートメントの最適化の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: ウェブ開発におけるクロスドメインの理由に対する複数のソリューション
>>: ローカルアイデアアクティベーションサーバーの構築に関する詳細なチュートリアル
目次質問: 1. 最初の試み2. 合理的な分析3. 問題解決(1) pthread_join()の使...
ファイル内の文字列の数を数えることは、実際には砂の中の石を探すようなものです。ある人は、石を見た後に...
序文springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。 dev...
1. 準備Linux オペレーティング システムをインストールした後、ここで Linux 7 を選択...
プロジェクトのテスト環境データベースのデータが失われてしまったので、記録しておきたいと思います。当時...
他の人のために解決した問題を記録します。問題の説明MySQLのバージョンは5.7、オペレーティングシ...
目次1. 手書きのインスタンス2.配列のマップメソッドを実装する3. Reduceは配列のmapメソ...
最近、element-ui を統合したプロジェクトで vuethink を使用しました。以前は bo...
目次1. 計算プロパティとは何ですか? 2. 計算プロパティの構文3. 例1. 計算プロパティとは何...
何?何のスターコートですか?さて、もっとわかりやすくするために写真を見てみましょう。 よく見ると、パ...
この記事では、参考までに、シンプルな広告ウィンドウを実装するためのjsの具体的なコードを紹介します。...
目次コンセプト配列の分割値を個別に宣言して割り当てるデフォルト値の構造化解除変数値の交換関数によって...
v-for タグにキーが追加されていない場合。 <!DOCTYPE html> <...
この記事では、MySQL の自動作成時刻と変更時刻を設定する方法について説明します。ご参考までに、詳...
公式サイトからMySQL-5.7.11-winx64の圧縮版をダウンロード。インストール後、パスワー...