Mysql group by

临时表与内存表

内存表是 Memory 引擎表,表的数据行都在内存。

临时表可以使用各种引擎。

临时表是线程私有表,其他线程不可见,不需考虑重名问题。

session 结束时临时表会被自动删除。

如果 Binlog_format = row,则临时表语句不进入 binlog,不参与主从同步。

普通表的 table_def_key = 库名 + 表名。

临时表的 table_def_key = 库名 + 表名 + mysql实例 id + 线程 id。

内部临时表

Mysql 的一些操作需要临时存储数据,会用到临时表。比如 union 去重求交集。它将两个子查询的结果放入临时表,去重之后返回客户端。如果是 union all 求并集,就不需要临时表。

group by 分组也用到临时表。group by 分组默认排序,如果不需要排序,可以 sql 语句末尾添加 order by null

group by 无法判断分组字段是否有序,因此用到临时表。而索引是有序的,如果 group by 索引字段 就不会使用临时表,省去排序时间。

相关推荐
dlhto1 小时前
Oracle Linux 9 的 MySQL 8.0 完整安装与远程连接配置
linux·mysql·oracle
送秋三十五2 小时前
5分钟读懂MySQL+Redis双写一致性实现流程
数据库·redis·mysql
bbmmqq2 小时前
根据角色ID获取完整角色信息(异步)
数据库·spring·oracle
阿波罗尼亚2 小时前
查询修正字段sql记录
数据库·sql·mysql
一个儒雅随和的男子2 小时前
Redis性能调优指南
数据库·redis·spring
老华带你飞2 小时前
动漫资讯|基于Springboot的动漫交流网站设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·国产动漫网站
JIngJaneIL2 小时前
机器人信息|基于Springboot的机器人门户展示系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·机器人·论文·毕设·机器人门户展示系统
QQ12958455043 小时前
ThingsBoard部件数据结构解析
数据结构·数据库·物联网·iot
苦学编程的谢3 小时前
Redis_1_初识Redis+浅谈分布式系统
数据库·redis·缓存
Hello.Reader3 小时前
用 Flink CDC 将 MySQL 实时同步到 Doris
大数据·mysql·flink