索引的优化-建立索引的规则-mysql 性能优化技术总结

时间:2024-05-12 07:16:20
【文件属性】:

文件名称:索引的优化-建立索引的规则-mysql 性能优化技术总结

文件大小:2.14MB

文件格式:PPT

更新时间:2024-05-12 07:16:20

mysql 事务

索引的优化-建立索引的规则 索引的字段必须是经常作为查询条件的字段; Like 'abc%' 字符串类型一定要加 ' '; OR 语句需要在前后的字段都加索引; .in 和 not in 也要慎用,否则会导致全表扫描,用exists代替 在order by、group by,on从句中建立索引; Mysql会分析如果不用索引比用索引更快,就会自动采用全表扫描 说起提高数据库性能,索引是最物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行个正确的’create index’,查询速度就可能提高百倍千倍,这可真有诱惑力。可是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的I/O。由于索引的存储结构不同于表的存储,一个表的索引所占空间比数据所占空间还大的情况经常发生。这意味着我们在写数据库的时候做了很多额外的工作,而这个工作只是为了提高读的效率。因此,我们建立一个索引,必须保证这个索引不会“亏本”。一般需要遵守这样的规则:   索引的字段必须是经常作为查询条件的字段;   如果索引多个字段,第一个字段要是经常作为查询条件的。如果只有第二个字段作为查询条件,这个索引不会起到作用;   索引的字段必须有足够的区分度;   Mysql 对于长字段支持前缀索引;   在order by、group by,on从句中建立索引。   索引覆盖:如果一个语句可以从索引上获取全部数据,就不需要通过索引再去读表,省了很多I/O.离散度的比较


网友评论