SQL语句优化
来源:互联网 发布:淘宝怎么添加公益宝贝 编辑:程序博客网 时间:2024/06/09 22:34
SQL语句优化规范 :
1. 使用mysql explain 对sql执行效率进行检测 ,explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。
1) 使用方法:在select语句前加上explain即可
2) explain 分析结果形式如下:
table | type | possible_keys | key | key_len | ref | rows | Extra
explain 分析结果形式中各属性含义:
table :显示这一行的数据是关于哪张表的
type :这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL
possible_keys :显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句
key :实际使用的索引。如果为NULL,则没有使用索引。很少的情况下,MYSQL会选择优化不足的索引。这种情况下,可以在SELECT语句中使用USE INDEX(indexname)来强制使用一个索引或者用IGNORE INDEX(indexname)来强制MYSQL忽略索引
key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好
ref:显示索引的哪一列被使用了,如果可能的话,是一个常数
rows:MYSQL认为必须检查的用来返回请求数据的行数
Extra :返回的描述的意义
2. 尽量使用 "inner join " 查询替换子查询条件中的 "in " ,防止由于数据量过大,引发数据库挂起问题
3.使用索引应注意问题:
1)查询语句的where条件后边使用 “!=”或“<>”时,索引不生效,和普通字段一样
2)查询语句的where条件后边使用字符串函数或其他函数,索引不生效,和普通字段一样
3)使用连接(join)查询时,只有在主键和外键的数据类型相同时索引才会生效
4)查询语句的where条件后边使用Like关键字应注意,like '%jx%' 和 like '%jx'方式索引均不生效, like 'jx%'方式索引生效
5)InnoDB数据表不支持全文索引
- SQL语句优化
- SQL语句优化
- SQL 语句优化
- SQL语句的优化
- SQL语句优化.
- 关于优化SQL语句
- SQL语句优化
- SQL 语句优化
- 如何优化sql语句
- sql语句的优化
- sql语句优化
- SQL语句优化汇总
- sql语句优化
- SQL语句优化汇总
- SQL语句优化汇总
- SQL语句优化
- 优化SQL语句方法
- sql语句优化实例
- 从一道百度面试题到分析输入url到页面返回的过程(或者查询返回过程)
- 如何在editplus中布置Java环境
- C#操作MsSQL进行大量数据的插入操作
- storm的并发
- Substring with Concatenation of All Words
- SQL语句优化
- PLSQL:[1]plsql中文乱码,显示问号
- 大数乘法
- storm开发经验分享
- 银联 支付宝sdk+demo+文档 支持64位
- mysql 大量数据处理问题
- mac下搭建SVN环境及常用命令
- struts2标签的迭代用法(<s:interator>)的简单用法
- mfc中使用bmp和png位图