Rumah pangkalan data tutorial mysql MySQL Order by 语句用法与优化详解_MySQL

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

Jun 01, 2016 pm 01:25 PM
kata kunci Rekod

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
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Terangkan apakah proses explorer.exe Terangkan apakah proses explorer.exe Feb 18, 2024 pm 12:11 PM

Apakah proses explorer.exe? Apabila kita menggunakan sistem pengendalian Windows, kita sering mendengar istilah "explorer.exe". Jadi, adakah anda ingin tahu apakah proses ini? Dalam artikel ini, kami akan menerangkan secara terperinci apakah proses explorer.exe dan fungsi serta kesannya. Pertama sekali, explorer.exe ialah proses utama sistem pengendalian Windows Ia bertanggungjawab untuk mengurus dan mengawal Windows Explorer (Window

Bagaimana untuk melaraskan apertur pada Xiaomi Mi 14 Ultra? Bagaimana untuk melaraskan apertur pada Xiaomi Mi 14 Ultra? Mar 19, 2024 am 09:01 AM

Melaraskan saiz apertur mempunyai kesan penting pada kesan foto Xiaomi Mi 14 Ultra memberikan fleksibiliti yang tidak pernah berlaku sebelum ini dalam pelarasan apertur kamera. Untuk membolehkan semua orang melaraskan apertur dengan lancar dan merealisasikan pelarasan percuma saiz apertur, editor di sini membawakan anda tutorial terperinci tentang cara menetapkan apertur pada Xiaomi Mi 14Ultra. Bagaimana untuk melaraskan apertur pada Xiaomi Mi 14Ultra? Mulakan kamera, tukar kepada "Mod Profesional", dan pilih kamera utama - kanta W. Klik pada apertur, buka dail apertur, A adalah automatik, pilih f/1.9 atau f/4.0 mengikut keperluan.

Apakah kad grafik tertinggi yang boleh dipacu oleh r5 5600x Prestasi terkini menggunakan 5600X dengan RX6800XT Apakah kad grafik tertinggi yang boleh dipacu oleh r5 5600x Prestasi terkini menggunakan 5600X dengan RX6800XT Feb 25, 2024 am 10:34 AM

Pada 29 Oktober, AMD akhirnya mengeluarkan produk blockbuster yang dinanti-nantikan, siri RX6000 kad grafik permainan berdasarkan seni bina RDNA2 baharu. Kad grafik ini melengkapkan pemproses siri Ryzen 5000 yang dilancarkan sebelum ini berdasarkan seni bina ZEN3 baharu, membentuk gabungan double-A baharu. Keluaran ini bukan sahaja mengatasi pesaing "Shuangying", tetapi juga mempunyai kesan besar pada keseluruhan bulatan perkakasan DIY. Seterusnya, mari gunakan gabungan AMD Ryzen 5600X dan RX6800XT di tangan saya sebagai contoh ujian untuk melihat betapa hebatnya AMD hari ini. Mari kita bercakap tentang bahagian pemproses CPU dahulu Pemproses siri AMD Ryzen 3000 generasi sebelumnya yang menggunakan seni bina ZEN2 sebenarnya telah digunakan.

Di manakah saya boleh melihat rekod perkara yang telah saya beli di Pinduoduo Bagaimana untuk melihat rekod produk yang dibeli? Di manakah saya boleh melihat rekod perkara yang telah saya beli di Pinduoduo Bagaimana untuk melihat rekod produk yang dibeli? Mar 12, 2024 pm 07:20 PM

Perisian Pinduoduo menyediakan banyak produk yang bagus, anda boleh membelinya pada bila-bila masa dan di mana-mana sahaja, dan kualiti setiap produk dikawal ketat, setiap produk adalah tulen, dan terdapat banyak diskaun beli-belah keutamaan, membolehkan semua orang membeli-belah dalam talian. Masukkan nombor telefon mudah alih anda untuk log masuk dalam talian, tambahkan berbilang alamat penghantaran dan maklumat hubungan dalam talian, dan semak arah aliran logistik terkini pada bila-bila masa. Cari dan leret ke atas dan ke bawah untuk membeli dan membuat pesanan. Anda boleh mengalami kemudahan tanpa meninggalkan rumah Dengan perkhidmatan membeli-belah dalam talian, anda juga boleh melihat semua rekod pembelian, termasuk barangan yang telah anda beli, dan menerima berpuluh-puluh sampul merah beli-belah dan kupon Sekarang editor telah menyediakan maklumat dalam talian terperinci untuk Pengguna Pinduoduo untuk melihat rekod produk yang dibeli. 1. Buka telefon anda dan klik pada ikon Pinduoduo.

Bagaimana untuk menetapkan bahasa Cina dalam Cheat Engine? Bagaimana untuk menetapkan bahasa Cina dalam Cheat Engine? Mar 18, 2024 pm 01:20 PM

Ce Modifier (CheatEngine) ialah alat pengubahsuaian permainan yang didedikasikan untuk mengubah suai dan menyunting memori permainan Jadi bagaimana untuk menetapkan bahasa Cina dalam CheatEngine Seterusnya, editor akan memberitahu anda bagaimana untuk menetapkan bahasa Cina dalam Ce Modifier. Dalam perisian baharu yang kami muat turun, ia boleh mengelirukan untuk mendapati bahawa antara muka itu bukan dalam bahasa Cina. Walaupun perisian ini tidak dibangunkan di China, terdapat cara untuk menukarnya kepada versi Cina. Masalah ini boleh diselesaikan dengan hanya menggunakan patch Cina. Selepas memuat turun dan memasang perisian CheatEngine (ce modifier), buka lokasi pemasangan dan cari folder bernama bahasa, seperti yang ditunjukkan dalam rajah di bawah

Apakah maksud ralat 0x0000004e? Apakah maksud ralat 0x0000004e? Feb 18, 2024 pm 01:54 PM

Apakah kegagalan 0x0000004e Kegagalan adalah masalah biasa dalam sistem komputer. Apabila komputer mengalami kerosakan, sistem biasanya dimatikan, ranap atau memaparkan mesej ralat kerana ia tidak dapat berjalan dengan betul. Dalam sistem Windows, terdapat kod kesalahan khusus 0x0000004e, iaitu kod ralat skrin biru yang menunjukkan bahawa sistem telah mengalami ralat yang serius. Ralat skrin biru 0x0000004e disebabkan oleh isu kernel atau pemacu sistem. Ralat ini biasanya menyebabkan sistem komputer

Yang manakah mempunyai kesan yang lebih besar pada prestasi, kekerapan memori atau pemasaan? Yang manakah mempunyai kesan yang lebih besar pada prestasi, kekerapan memori atau pemasaan? Feb 19, 2024 am 08:58 AM

Memori adalah salah satu komponen terpenting dalam komputer, dan ia mempunyai kesan penting terhadap prestasi dan kestabilan komputer. Apabila memilih memori, orang cenderung untuk menumpukan pada dua parameter penting, iaitu masa dan kekerapan. Jadi, untuk prestasi ingatan, yang mana lebih penting, masa atau kekerapan? Mula-mula, mari kita fahami konsep pemasaan dan kekerapan. Pemasaan merujuk kepada selang masa yang diperlukan untuk cip memori menerima dan memproses data. Ia biasanya diwakili oleh nilai CL (CASLatency) Semakin kecil nilai CL, semakin cepat kelajuan pemprosesan memori. Kekerapan adalah dalam

DaVinci Resolve Studio kini menyokong pengekodan perkakasan AV1 untuk kad grafik AMD DaVinci Resolve Studio kini menyokong pengekodan perkakasan AV1 untuk kad grafik AMD Mar 06, 2024 pm 10:04 PM

Berita terkini, lackMagic telah melancarkan kemas kini beta awam 18.5PublicBeta2 bagi perisian penyuntingan video DaVinci Resolve Studio, membawakan sokongan pengekodan AV1 kepada kad grafik AMD Radeon. Selepas mengemas kini kepada versi terkini, pengguna kad grafik AMD akan dapat memanfaatkan pecutan perkakasan untuk pengekodan AV1 dalam DaVinci Resolve Studio. Walaupun pegawai tidak menyatakan seni bina atau model yang disokong, diharapkan semua pengguna kad grafik AMD boleh mencuba ciri ini. Pada 2018, AOMedia mengeluarkan standard pengekodan video baharu AV1 (AOMediaVideoCodec1.0). AV1 dihasilkan oleh beberapa

See all articles