MySQL Order by 语句用法与优化详解_MySQL
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:

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

explorer.exe是什么进程在我们使用Windows操作系统的时候,经常会听到一个名词"explorer.exe".那么,你是否好奇这个进程到底是什么?在本文中,我们将详细解释explorer.exe是什么进程以及其功能和作用。首先,explorer.exe是Windows操作系统的一个关键进程,它负责管理和控制Windows资源管理器(Window

光圈大小的调整对于拍照效果有着至关重要的影响,小米14Ultra在相机光圈调节方面提供了前所未有的灵活性。为了让大家都能顺利调节光圈,实现光圈大小的自由调节,小编在这里为大家带来了小米14Ultra怎么设置光圈的详细教程。小米14Ultra怎么调整光圈?启动相机,切换至“专业模式”,选择主摄-W镜头。点击光圈,打开光圈转盘,A为自动,按需选择f/1.9或f/4.0。

10月29日,AMD终于发布了备受用户期待的重磅产品,即基于全新RDNA2架构的RX6000系列游戏显卡。这款显卡与之前推出的基于全新ZEN3架构的锐龙5000系列处理器相辅相成,形成了一个全新的双A组合。这一次的发布不仅使得竞争对手“双英”黯然失色,也对整个DIY硬件圈产生了重大影响。接下来,围绕笔者手中这套AMD锐龙5600X和RX6800XT的组合作为测试例子,来见证下现如今的AMD究竟有多么Yse?首先说说CPU处理器部分,上一代采用ZEN2架构的AMD锐龙3000系列处理器其实已经令用

拼多多软件内提供的商品好物非常多,随时随地想买就买,而且每一件商品质量都是严格把关的,件件商品都是正品,不同还有非常多优惠的购物折扣,让大家网购根本停不下来。输入手机号在线登录,在线添加多个收货地址和联系方式,可以随时查看最新的物流动态,不同品类的商品板块都是开放的,搜索上下滑动选购下单,足不出户轻松体验便捷的网购服务,还能查看所有的购买记录,包括自己买过的商品,数十个购物红包、优惠券免费领取使用,现在小编在线详细为拼多多用户们带来查看买过的商品记录的方法。 1.打开手机,点击拼多多图标,

Ce修改器(CheatEngine)是一款专用于对游戏内存进行修改和编辑的游戏修改工具,那么在CheatEngine中怎么设置中文呢?接下来小编为大伙讲述ce修改器设置中文的方法内容,希望可以帮助到有需要的朋友。在我们下载的新软件中,若发现它不是中文界面,可能会让人感到困惑。尽管这款软件不是由中国开发的,但我们仍有方法将其转换为中文版本。只需简单地应用中文补丁,就能解决这个问题。在下载并安装了CheatEngine(ce修改器)软件后,打开安装位置,找到名为languages的文件夹,如下图所示

0x0000004e是什么故障在计算机系统中,故障是一个常见的问题。当计算机遇到故障时,系统通常会因为无法正常运行而出现停机、崩溃或者出现错误提示。而在Windows系统中,有一个特定的故障代码0x0000004e,这是一个蓝屏错误代码,表示系统遇到了一个严重的错误。0x0000004e蓝屏错误是由于系统内核或驱动程序问题导致的。这种错误通常会导致计算机系统

内存是计算机中非常重要的组件之一,它对计算机的性能和稳定性有着重要影响。在选择内存时,人们往往会关注两个重要的参数,即时序和频率。那么,对于内存性能来说,时序和频率哪个更重要呢?首先,我们来了解一下时序和频率的概念。时序指的是内存芯片在接收和处理数据时所需的时间间隔。它通常以CL值(CASLatency)来表示,CL值越小,内存的处理速度越快。而频率则是内

最近新消息,lackMagic目前推出了达芬奇DaVinciResolveStudio视频编辑软件的18.5PublicBeta2公测版更新,为AMDRadeon显卡带来了AV1编码支持。更新到最新版本后,AMD显卡用户将能够在DaVinciResolveStudio中利用硬件加速来进行AV1编码。尽管官方并未具体指明支持的架构或型号,但预计所有的AMD显卡用户都可以尝试这一功能。2018年,AOMedia发布了全新的视频编码标准AV1(AOMediaVideoCodec1.0)。AV1是由多家
