ホームページ データベース mysql チュートリアル MySQL Order by 语句用法与优化详解_MySQL

MySQL Order by 语句用法与优化详解_MySQL

Jun 01, 2016 pm 01:25 PM
キーワード 記録

bitsCN.com

MySQL Order By keyword是用来给记录中的数据进行分类的。
MySQL Order By Keyword根据关键词分类
ORDER BY keyword是用来给记录中的数据进行分类的。


SELECT column_name(s)
FROM table_name
ORDER BY column_name

例子

SQL创建代码:


CREATE TABLE IF NOT EXISTS mysql_order_by_test (
  uid int(10) NOT NULL AUTO_INCREMENT,
  name char(80) NOT NULL,
  sex tinyint(1) NOT NULL,
  KEY uid (uid)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(1, 'www.bitsCN.com', 1);
INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(2, '李四', 2);
INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(3, '王二麻子', 1);

通过索引优化来实现MySQL的ORDER BY语句优化:

1、ORDER BY的索引优化。如果一个SQL语句形如:


SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort];

在[sort]这个栏位上建立索引就可以实现利用索引进行order by 优化。

2、WHERE + ORDER BY的索引优化,形如:


SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [value] ORDER BY [sort];

建立一个联合索引(columnX,sort)来实现order by 优化。

注意:如果columnX对应多个值,如下面语句就无法利用索引来实现order by的优化


SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] IN ([value1],[value2],…) ORDER BY[sort];

3、WHERE+ 多个字段ORDER BY


SELECT * FROM [table] WHERE uid=1 ORDER x,y LIMIT 0,10;

建立索引(uid,x,y)实现order by的优化,比建立(x,y,uid)索引效果要好得多

在某些情况中,MySQL可以使用一个索引来满足ORDER BY子句,而不需要额外的排序。where条件和order by使用相同的索引,并且order by的顺序和索引顺序相同,并且order by的字段都是升序或者都是降序。

例如:下列sql可以使用索引。


    SELECT * FROM t1 ORDER BY key_part1,key_part2,... ;
    SELECT * FROM t1 WHERE key_part1=1 ORDER BY key_part1 DESC, key_part2 DESC;
    SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 DESC;

但是以下情况不使用索引:


①SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC;
--order by的字段混合ASC和DESC
②SELECT * FROM t1 WHERE key2=constant ORDER BY key1;
--用于查询行的关键字与ORDER BY中所使用的不相同
③SELECT * FROM t1 ORDER BY key1, key2;
--对不同的关键字使用ORDER BY:

bitsCN.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Explorer.exe プロセスとは何かを説明する Explorer.exe プロセスとは何かを説明する Feb 18, 2024 pm 12:11 PM

Explorer.exe とは何のプロセスですか? Windows オペレーティング システムを使用しているときに、「explorer.exe」という用語をよく聞きますが、このプロセスが何であるか知りたいですか?この記事では、プロセスexplorer.exeとは何か、その機能と効果について詳しく説明します。まず、explorer.exe は Windows オペレーティング システムの重要なプロセスであり、Windows エクスプローラー (ウィンドウ) の管理と制御を担当します。

Xiaomi Mi 14 Ultraで絞りを調整するにはどうすればよいですか? Xiaomi Mi 14 Ultraで絞りを調整するにはどうすればよいですか? Mar 19, 2024 am 09:01 AM

絞りサイズの調整は写真の効果に重大な影響を与えますが、Xiaomi Mi 14 Ultra はカメラの絞り調整にこれまでにない柔軟性を提供します。誰もがスムーズに絞りを調整し、絞りサイズの自由な調整を実現できるように、ここのエディターはXiaomi Mi 14Ultraで絞りを設定する方法に関する詳細なチュートリアルを提供します。 Xiaomi Mi 14Ultraで絞りを調整するにはどうすればよいですか?カメラを起動し、「プロフェッショナルモード」に切り替え、メインカメラ-Wレンズを選択します。絞りをクリックし、絞りダイヤルを開きます。A は自動です。必要に応じて f/1.9 または f/4.0 を選択します。

r5 5600x が駆動できる最高のグラフィックス カードは何ですか? RX6800XT で 5600X を使用した最新のパフォーマンス r5 5600x が駆動できる最高のグラフィックス カードは何ですか? RX6800XT で 5600X を使用した最新のパフォーマンス Feb 25, 2024 am 10:34 AM

10 月 29 日、AMD はついに待望の大ヒット製品、新しい RDNA2 アーキテクチャをベースにしたゲーム グラフィックス カード RX6000 シリーズをリリースしました。このグラフィックス カードは、新しい ZEN3 アーキテクチャに基づいて以前に発売された Ryzen 5000 シリーズ プロセッサを補完し、新しいダブル A の組み合わせを形成します。このリリースは、競合他社の「Shuangying」を追い抜いただけでなく、DIY ハードウェア サークル全体に大きな影響を与えました。次に、私の手元にある AMD Ryzen 5600X と RX6800XT の組み合わせをテスト例として使用して、現在の AMD がどれほど優れているかを確認してみましょう。まずCPUプロセッサ部分について説明すると、ZEN2アーキテクチャを採用した前世代のAMD Ryzen 3000シリーズプロセッサが実際に使用されています。

Pinduoduo で購入したものの記録はどこで確認できますか? 購入した製品の記録を表示するにはどうすればよいですか? Pinduoduo で購入したものの記録はどこで確認できますか? 購入した製品の記録を表示するにはどうすればよいですか? Mar 12, 2024 pm 07:20 PM

Pinduoduo ソフトウェアは多くの優れた製品を提供し、いつでもどこでも購入でき、各製品の品質は厳しく管理され、すべての製品は正規品であり、多くの優遇ショッピング割引があり、誰もがオンラインで買い物をすることができます。携帯電話番号を入力してオンラインにログインし、オンラインで複数の配送先住所や連絡先情報を追加し、最新の物流動向をいつでも確認できます さまざまなカテゴリの商品セクションが開き、検索して上下にスワイプして購入および注文することができます家から出ることなく利便性を体験することができます.オンライン ショッピング サービスでは、購入した商品を含むすべての購入記録を確認することもでき、数十のショッピング赤い封筒とクーポンを無料で受け取ることもできます.今回、編集者は Pinduoduo ユーザーに詳細なオンライン サービスを提供しました購入した製品の記録を表示する方法。 1. 携帯電話を開き、Pinduoduo アイコンをクリックします。

Cheat Engineで中国語を設定する方法? ce修飾子で中国語を設定する方法 Cheat Engineで中国語を設定する方法? ce修飾子で中国語を設定する方法 Mar 18, 2024 pm 01:20 PM

Ce Modifier (CheatEngine) は、ゲーム メモリの変更と編集に特化したゲーム変更ツールです。それでは、CheatEngine で中国語を設定する方法を教えてください。次に、エディターが Ce Modifier で中国語を設定する方法を説明します。困っている友達を助けることができることを願っています。新しいソフトウェアをダウンロードすると、インターフェイスが中国語ではないことに気づくと混乱することがあります。このソフトウェアは中国で開発されたものではありませんが、中国版に変換する方法はあります。この問題は中国語パッチを適用するだけで解決できます。 CheatEngine (ce モディファイア) ソフトウェアをダウンロードしてインストールした後、以下の図に示すように、インストール場所を開き、langages という名前のフォルダーを見つけます。

0x0000004e エラーは何を意味しますか? 0x0000004e エラーは何を意味しますか? Feb 18, 2024 pm 01:54 PM

0x0000004e 障害とは何ですか? 障害は、コンピューター システムにおける一般的な問題です。コンピュータに障害が発生すると、通常、システムは正常に実行できなくなり、シャットダウン、クラッシュ、またはエラー メッセージが表示されます。 Windows システムには、システムに重大なエラーが発生したことを示すブルー スクリーン エラー コードである、特定の障害コード 0x0000004e があります。 0x0000004e ブルー スクリーン エラーは、システム カーネルまたはドライバーの問題が原因で発生します。このエラーは通常、コンピュータ システムに次のようなエラーを引き起こします。

パフォーマンス、メモリ周波数、またはタイミングに大きな影響を与えるのはどれですか? パフォーマンス、メモリ周波数、またはタイミングに大きな影響を与えるのはどれですか? Feb 19, 2024 am 08:58 AM

メモリはコンピュータの最も重要なコンポーネントの 1 つであり、コンピュータのパフォーマンスと安定性に大きな影響を与えます。メモリを選択するとき、人は 2 つの重要なパラメータ、つまりタイミングと周波数に注目する傾向があります。では、メモリのパフォーマンスに関しては、タイミングと頻度のどちらがより重要でしょうか?まず、タイミングと頻度の概念を理解しましょう。タイミングとは、メモリ チップがデータを受信して​​処理するのに必要な時間間隔を指します。通常はCL値(CASLatency)で表され、CL値が小さいほどメモリの処理速度が速くなります。周波数は範囲内です

Honor 90 GT で Honor MagicOS 8.0 をアップデートするにはどうすればよいですか? Honor 90 GT で Honor MagicOS 8.0 をアップデートするにはどうすればよいですか? Mar 18, 2024 pm 06:46 PM

Honor 90GT は、優れたパフォーマンスと優れたユーザー エクスペリエンスを備えたコスト効率の高いスマートフォンです。ただし、場合によっては、Honor 90GT で Honor MagicOS8.0 をアップデートする方法など、いくつかの問題が発生することがあります。この手順は携帯電話やモデルによって異なる場合があるため、システムを正しくアップグレードする方法について説明します。 Honor 90GT で Honor MagicOS 8.0 をアップデートするにはどうすればよいですか? 2 月 28 日のニュースによると、Honor は本日、3 つの携帯電話 90GT/100/100Pro 向けに MagicOS8.0 パブリック ベータ アップデートをプッシュしました。パッケージのバージョン番号は 8.0.0.106 (C00E106R3P1) 1 です。 90GT のバッテリーは完全に充電されています。

See all articles