第三十七讲:都说InnoDB好,那还要不要运用Memory引擎?
第三十七讲:都说InnoDB好,那还要不要运用Memory引擎?
简概
导言
我在上一篇文章结尾留给你的问题是:两个 group by 句子都用了 order by null,为什么运用内存暂时表得到的句子成果里,0 这个值在最终一行;而运用磁盘暂时表得到的成果里,0 这个值在榜首行?
今日咱们就来看看,呈现这个问题的原因吧。
内存表的数据安排结构
为了便于剖析,我来把这个问题简化一下,假设有以下的两张表 t1 和 t2,其中表 t1 运用 Memory 引擎, 表 t2 运用 InnoDB 引擎。
create table t1(id int primary key, c int) engine=Memory;
create table t2(id int primary key, c int) engine=innodb;
insert into t1 values(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(0,0);
insert into t2 values(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(0,0);
然后,我别离履行 select * from t1 和 select * from t2。