
存储引擎分类有哪些以及使用场景?
存储引擎主要有
1、Mylsam
2. InnoDB
3、Memory
4、>Archive
5、Federated
默认为:InnoDB 引擎。InnoDB 底层存储结构为 B+树,B 树的每个节点对应 innodb
的一个 page,page 大小是固定的,一般设为 16k
使用场景
1、经常更新的表,适合处理多重并发的更新请求
2、支持事务。
3、可以从灾难中恢复(通过 bin-log 日志等)
4、外键约束。只有他支持外键。
5、支持自动增加列属性 auto_increment
创建索引的原则?
1、选择唯一性索引:唯一性索引的值是唯一的。可以更快的通过该索引来确定某条记录。
2、为经常需要排序、分组、以及联合查询的列创建索引。
3、为经常作为查询条件的列创建索引。
4、限制索引的数目:越多的索引越导致表的查询效率变低,因为索引表在每次更新表数据的时候
都会重新创建这个表的索引,表的数据越多,索引列越多,那么创建索引的时间消耗就越大。
5、如果索引的值很长,那么查询的速度会受到影响。
6、如果索引字段的值很长,最好使用值得前缀来进行索引。
7、删除不再使用或者很少使用的索引。
8、最左前缀匹配原则,非常重要的原则。
9、尽量选择区分度高的列作为索引.