您的位置:首页 > 数据库

数据库 两个简单实用的表级优化方法

2015-04-07 16:16 197 查看
analyze table 表名; //分析和存储表的关键字分布

check table 表名;  //检查一个或多个表是否有错误

optimize table 表名; //如果含有可变长度行的表如果进行了很多更改,则会出现比较多碎片。

索引不能使用的原因:

(1)以%开头的LIKE查询不能够利用B-Tree索引  : select * from actor where last_name like '%NI%' 应(select * from (select actor_id from actor where last_name like '%NI%')a, actor b where a.actor_id=b.actor_id)

(2)数据类型出现隐式转换  :select from actor where last_name = 1 应('1')

(3)复合索引情况下,假如查询条件不包含索引列最左边部分,即不满足最左原则

(4)如果Mysql估计使用索引比全表扫描慢,则不适用索引。

(5)用or分割开的条件,如果or前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: