豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 计算机软件及应用 > 30种mysql优化sql语句查询的方法
侵权投诉

30种mysql优化sql语句查询的方法

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。

3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:

select id from t where num is null

可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0

4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:

select id from t where num=10 or num=20

可以这样查询:

select id from t where num=10

union all

select id from t where num=20

5.下面的查询也将导致全表扫描:

select id from t where name like '%abc%'

若要提高效率,可以考虑全文检索。

6.in 和 not in 也要慎用,否则会导致全表扫描,如:

select id from t where num in(1,2,3)

对于连续的数值,能用 between 就不要用 in 了:

select id from t where num between 1 and 3

7.如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描:

第1页

热门文档

相关文档

  • 基于SQL查询语句的查询优化方法

    30种mysql优化sql语句查... 4页 1下载券 SQL语句优化方法 2页 1下载券 ... 查询 操作 最 为频繁 , 查询语 句的优 劣 直接影 响数 据库 应用 系统...

  • Sql查询语句优化心得MySQL优化

    Sql 查询语句优化心得 MySQL 优化 2010-12-24 14:31 作为一个互联网开发工程...【个人认为:最为简单的测试方法就是把 SQL 语句在命令行下运行,若查询的语句 ...

  • SQL语句查询性能优化

    SQl 语句查询性能优化 【摘要】本文从 DBMS 的查询...(5) 函数的列启用索引方法,如果一定要对使用函数的...一数值型字段 A,30 万记录的 A=0,30 万记录...

  • MySQL查询语句优化

    MySQL查询语句优化 查询语句优化 Peng.xu 2010.11.19 目录 ? ? ? ? ? ? ...简单的分页方法 use nengren; 原始SQL explain select article_id,title from ...

  • SQL 语句优化常用方法

    SQL语句优化方法 6页 免费 sql语句优化方法30例 5页 免费 SQL语句优化方法...6. 必要时强制查询优化器使用某索引,如在 where 子句中使用参数,也会导 致...

  • SQL查询语句的优化方法研究

    SQL查询语句的优化方法研究_计算机软件及应用_IT/计算机_专业资料。【技术研发l... 30种mysql优化sql语句查... 4页 1下载券 SQL查询语句优化研究 暂无评价 2...

  • 经典MySQL语句大全和常用SQL语句命令的作用

    经典MySQL语句大全和常用SQL语句命令的作用_计算机...并将查询结果存储在该记录对象中,通过Set方法,将...查看数据库启动时间 select convert(varchar(30),...

  • mysql 查询语句优化

    mysql 查询语句优化_IT/计算机_专业资料。mysql ...如果你使用 SQL_SMALL_RESULT,MySQL 将使用一个在...14、每个表的索引被查询并且使用跨越少于 30% 的行...

  • 设计高效合理的MySQL查询语句讲解

    设计高效合理的MySQL查询语句讲解_计算机软件及应用_...SQL 语 句是系统优化的基础,很难设想一原本糟糕...where datediff(day,createdate,'2005-11-30')=0...

  • 如何优化sql语句

    只剩下 5000 条记录了,那查询优化器就会改变方案, 采用 “全表扫描”方式。 ...那么如果一 SQL 语句查询 30 岁的汉族人口有多少,“民族” 那 这列必然...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  闽ICP备15022310号-9  闽公网安备 35021102001881号  email
返回顶部