存储引擎Storege engine:MySql中的数据、索引以及其他对象是如何存储的,是一套文件系统的实现。
常见的存储引擎:
Innodb引擎:Innodb提供了对数据库ACID事务的支持,并且提供了行级锁和外键的约束。其设计的目标就是处理大数据容量的数据库系统。
MyISAM引擎:不支持事务、行级锁、外键。
MEMORY引擎:所有数据都在内存中,处理数据极快,但是安全性不高。
Innodb索引与MyISAM索引的区别:
Innodb索引是聚簇索引;MyISAM索引是非聚簇索引。
Innodb的主键索引的叶子结点存储着行数据,主键索引非常高效。
MyISAM索引的叶子结点存储着行数据地址,需要再寻址一次才能得到数据。
Innodb非主键索引的叶子结点存储的是主键和其他带索引的列数据,因此查询时做到覆盖索引会非常高效。
聚簇索引与非聚簇索引
聚簇索引:将数据和索引放到了一块,找到了索引也就找到了数据。
非聚簇索引:将数据存储与索引存储结构分开。
覆盖索引
覆盖索引:将被查询的字段,建立到联合索引里去。
Innodb引擎的四大特性
插入缓冲(insert buffer)
二次写(double write)
自适应哈希索引(ahi)
预读(read ahead)
存储引擎的选择
一 般选择默认的Innodb。
MyISAM:以读写插入为主的应用程序,如博客系统、新闻门户系统。
Innodb:更新、删除操作频率高,或者要保证数据的完整性;并发量高,支持事务和外键。
Mysql存储引擎qaq
未经允许不得转载:爱站程序员基地 » Mysql存储引擎qaq