阿里云服务器创建多个网站,自架服务器建设网站,建筑业务网站建设,网站设计公司飞沐InooDB与Memory
数据组织方式不同#xff1a;
InnoDB引擎把数据放在主键索引上#xff0c;其他索引上保存的是主键id。为索引组织表Memory引擎把数据单独存放#xff0c;索引上保存数据位置。为堆组织表
典型不同处#xff1a;
1、InnoDB表的数据总是有序存放的#x…InooDB与Memory
数据组织方式不同
InnoDB引擎把数据放在主键索引上其他索引上保存的是主键id。为索引组织表Memory引擎把数据单独存放索引上保存数据位置。为堆组织表
典型不同处
1、InnoDB表的数据总是有序存放的而Memory表数据是按照写入顺序存放、
2、当数据文件有空洞时InnoDB表在插入新数据时为了保证数据有序性总是放在右侧。而Memory表找到空位就可以插入
3、数据位置发生变化的时候InnoDB表修改的是主键索引Memory表需要修改索引值
4、InnoDB支持变长数据类型不同记录的长度可能不同。Memory表使用固定长度每行数据长度相同
Memory表默认使用的是hash索引所以不支持范围查询当然也可以修改
alter table t1 add index a_btree_index using btree (id);Memory 表用于临时表
Memory表有两个问题
1、Memory不支持行锁只支持表锁不适用于并发场合
2、Memory数据放在内存中数据库重启所有Memory表都会被清空Memory表用于临时表好处
1、临时表不会被其他线程访问没有并发性的问题
2、临时表重启后也是需要删除的清空数据问题不大
3、备库的临时表也不会影响主库的用户线程
并且相对于InnoDB作为临时表它还有以下好处
1、Memory使用内存表不需要写磁盘往临时表写数据速度更快
2、Memory索引使用hash索引查找速度比B-Tree索引快
3、对于小数据的临时表占用内存有限