数据库 两个简单实用的表级优化方法
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前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到。
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前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到。
相关文章推荐
- [MySQL] 两个优化数据库表的简单方法--18.3
- OpenCL性能优化实例研究系列2:避免Local Memory Bank Conflicts的两个简单方法
- SQL简单实用的优化方法
- Sql Server实用操作-更改数据库中表的所属用户的两个方法
- 简单实用的DataSet更新数据库的类+总结(c#)
- 实现数据库事务的简单方法ExecuteSqlTran()
- 在ASP中实现页面与数据库连接的几种实用方法
- Oracle 9i 数据库 数据导入和导出的最简单的方法
- 一个简单实用的数据库操作框架
- MySQL 数据库性能优化方法
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 一个简单实用的sql数据库查询工具(c#)
- 简单实用的DataSet更新数据库的类+总结(c#)
- D7中编写NT服务操作数据库的简单方法
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 在ASP中页面与数据库连接的几种实用方法
- 在ASP中实现页面与数据库连接的几种实用方法
- 多条件数据库查询的优化方法
- 简单实用的DataSet更新数据库的类+总结(c#)