Mysql 内部默认排序

mysql默认的排序:

https://forums.mysql.com/read.php?21,239471,239688#msg-239688

  • Do not depend on order when ORDER BY is missing.
  • Always specify ORDER BY if you want a particular order -- in some situations the engine can eliminate the ORDER BY because of how it does some other step.
  • GROUP BY forces ORDER BY. (This is a violation of the standard. It can be avoided by using ORDER BY NULL.)

SELECT * FROM tbl -- this will do a "table scan". If the table has never had any DELETEs/REPLACEs/UPDATEs, the records will happen to be in the insertion order, hence what you observed.

If you had done the same statement with an InnoDB table, they would have been delivered in PRIMARY KEY order, not INSERT order. Again, this is an artifact of the underlying implementation, not something to depend on.

https://stackoverflow.com/questions/8746519/sql-what-is-the-default-order-by-of-queries

原文地址:https://www.cnblogs.com/cbugs/p/9279699.html

时间: 2024-10-08 15:25:39

Mysql 内部默认排序的相关文章

mysql内部组件架构,索引管理,视图view

--以下内容摘自马哥教育课堂 === 单进程多线程模型 每个用户连接都使用一个线程 mysql使用线程池来管理各个线程 mysql内部组件架构 connection --management service & unities(管理服务单元,如备份恢复,集群,合并,迁移工具,复制工具): connection pool(认证,线程重用,连接限制,内存检查,缓存): --SQL接口(DML,DDL,存储过程,视图,触发器): 分析器parser(查询翻译成二进制指令,访问权限): 优化器optim

MYSQL数据库表排序规则不一致导致联表查询,索引不起作用问题

Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字段ishaspic:新添字段时,报错 [SQL] alter table WorkTask add ishaspic int(10) Null;[Err] 1034 - Incorrect key file for table 'WorkTask'; try to repair it 解决方案:新建

map的默认排序和自定义排序

STL的容器map为我们处理有序key-value形式数据提供了非常大的便利,由于内部红黑树结构的存储,查找的时间复杂度为O(log2N). 一般而言,使用map的时候直接采取map<typename A, typename B>的形式即可,map的内部实现默认使用A类型变量的升序来排序map的值. 但是有时我们需要对map的值做特殊的排序(不经其他容器的辅助),这就需要在定义map变量时做些特殊的处理. STL中map的定义是: 1 template<class _Kty, 2 cla

9.2.1 hadoop mapreduce任务输出的默认排序

任务的默认排序 MapTask和ReduceTask都会默认对数据按照key进行排序,不管逻辑上是否需要.默认是按照字典顺序排序,且实现该排序的方法是快速排序.但是map和reduce任务只能保证单个任务内部输出有序,不能保证所有输出全局有序. MapTask,当环形缓冲区使用率到达一定阈值后进行一次快速排序,将这些有序数据溢写到磁盘上,而当数据处理完毕后,它会对磁盘上所有文件进行归并排序.ReduceTask,它从每个MapTask上远程拷贝相应的数据文件,如果文件大小超过一定阈值,则溢写到磁

用RPM包安装MySQL的默认安装路径问题

在安装PHP时候要对一些配置选项进行设置,其中就有:--with-mysql[=DIR]:包含MySQL扩展,[=DIR]指定mysql安装目录,省略[=DIR]则为默认位置/usr--with-mysqli[=FILE]:包含MySQLI扩展,[=FILE]指定mysql_config文件位置,省略[=FILE]则为默认位置/usr/bin/mysql_config             --with-pdo-mysql[=DIR]:包含PDO:MySQL扩展,[=DIR]指定mysql安装

查看并修改mysql的默认引擎

1.mysql存储引擎: a)mysql服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上.存储引擎负责管理数据存储,以及mysql的索引管理.通过定义的API,mysql服务器能够与存储引擎进行通信.目前使用最多的是MyISAM和InnoDB.InnoDB被Oracle收购后,mysql自行开发的新存储引擎Falcon将在mysql6.0版本引进. b)MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一

第五讲.字典,集合,数组排序(快速排序,冒泡,默认排序)(源代码)

1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) { 4 @autoreleasepool { 5 6 //字典的使用 7 8 //创建字典对象 9 NSDictionary * a1 = [NSDictionary dictionaryWithObjectsAndKeys:@"one",@"1",@"two",@"

Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结

Mysql中的排序规则utf8_unicode_ci.utf8_general_ci的区别总结 用了这么长时间,发现自己竟然不知道utf_bin和utf_general_ci这两者到底有什么区别.. ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的; bin 是二进制, a 和 A 会别区别对待. 例如你运行: SELECT * FROM table WHERE txt = 'a' 那么在utf8_bin中你就找不到 txt

wnmp中,mysql的默认密码修改

wnmp中,mysql的默认密码修改. 给我们的印象是,以前mysql默认密码都为空,好久没折腾这个了,今天下了个wnmp环境,mysql密码死活改不了,都想砸电脑了,结果实验出来了.... 默然密码是:password 不敢独享,赶紧贴出来,留作纪念!