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只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描:
30种mysql优化sql语句查... 4页 1下载券 SQL语句优化方法 2页 1下载券 ... 查询 操作 最 为频繁 , 查询语 句的优 劣 直接影 响数 据库 应用 系统...
Sql 查询语句优化心得 MySQL 优化 2010-12-24 14:31 作为一个互联网开发工程...【个人认为:最为简单的测试方法就是把 SQL 语句在命令行下运行,若查询的语句 ...
SQl 语句查询性能优化 【摘要】本文从 DBMS 的查询...(5) 函数的列启用索引方法,如果一定要对使用函数的...一个数值型字段 A,30 万记录的 A=0,30 万记录...
MySQL查询语句优化 查询语句优化 Peng.xu 2010.11.19 目录 ? ? ? ? ? ? ...简单的分页方法 use nengren; 原始SQL explain select article_id,title from ...
SQL语句优化方法 6页 免费 sql语句优化方法30例 5页 免费 SQL语句优化方法...6. 必要时强制查询优化器使用某个索引,如在 where 子句中使用参数,也会导 致...
SQL查询语句的优化方法研究_计算机软件及应用_IT/计算机_专业资料。【技术研发l... 30种mysql优化sql语句查... 4页 1下载券 SQL查询语句优化研究 暂无评价 2...
经典MySQL语句大全和常用SQL语句命令的作用_计算机...并将查询结果存储在该记录对象中,通过Set方法,将...查看数据库启动时间 select convert(varchar(30),...
mysql 查询语句优化_IT/计算机_专业资料。mysql ...如果你使用 SQL_SMALL_RESULT,MySQL 将使用一个在...14、每个表的索引被查询并且使用跨越少于 30% 的行...
设计高效合理的MySQL查询语句讲解_计算机软件及应用_...SQL 语 句是系统优化的基础,很难设想一个原本糟糕...where datediff(day,createdate,'2005-11-30')=0...
只剩下 5000 条记录了,那查询优化器就会改变方案, 采用 “全表扫描”方式。 ...那么如果一个 SQL 语句要查询 30 岁的汉族人口有多少,“民族” 那 这列必然...
闽公网安备 35021102001881号 
热门文档