索引对数据库性能的影响?
本质:缩小查询范围。大大减少需要扫描的数据量。大大提高查询的速度,降低写的速度,占用磁盘。将随机I/O变成顺序I/O
特大的表怎么解决查询问题?
分区。
主键索引和唯一索引的区别?
一个表只能有一个主键索引,但可以有多个唯一索引,
主键索引是唯一索引,但唯一索引不是主键索引,
主键可以和外键构成参照完整性约束,防止数据不一致。
mysql索引的创建原则?
1.索引一般出现在where子句中的列,或是连接子句中的列。
2.索引列的基数越大,索引的效果越好。
3.对字符串进行索引,应该指定一个前缀长度,可以节省大量索引空间。
4.根据情况建立复合索引,复合索引可以提高查询效率。
5.避免创建过多索引,会降低写的效率,并占用磁盘空间。
索引创建注意事项?
1.左前缀原则
2.like查询,%不能在前
3.mysql估计使用索引比全表扫描慢,会放弃使用索引
4.column is null 可以使用索引
5.如果or前的列中有索引,但后面没有,则不会使用索引
6.列类型是字符串类型,查询时一定要给值加引号,否则索引失效