豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > sql查询优化
侵权投诉

sql查询优化

sql查询优化说明

当你提交一个查询的时候,MySQL会分析它,看是否可以做一些优化使处理该查询的速度更快。这一部分将介绍查询优化器是如何工作的。如果你想知道MySQL采用的优化手段,可以查看MySQL参考手册。

当然,MySQL查询优化器也利用了索引,但是它也使用了其它一些信息。例如,如果你提交如下所示的查询,那么无论数据表有多大,MySQL执行它的速度都会非常快:

SELECT * FROM tbl_name WHERE 0;

在这个例子中,MySQL查看WHERE子句,认识到没有符合查询条件的数据行,因此根本就不考虑搜索数据表。你可以通过提供一个EXPLAIN语句看到这种情况,这个语句让MySQL显示自己执行的但实际上没有真正地执行的SELECT查询的一些信息。如果要使用EXPLAIN,只需要在EXPLAIN单词放在SELECT语句的前面:

mysql> EXPLAIN SELECT * FROM tbl_name WHERE 0\G

*************************** 1. row ***************************

id: 1

select_type: SIMPLE

table: NULL

type: NULL

possible_keys: NULL

key: NULL

key_len: NULL

ref: NULL

rows: NULL

Extra: Impossible WHERE

通常情况下,EXPLAIN返回的信息比上面的信息要多一些,还包括用于扫描数据表的索引、使用的联结类型、每张数据表中估计需要检查的数据行数量等非空(NULL)信息。

优化器是如何工作的

MySQL查询优化器有几个目标,但是其中最主要的目标是尽可能地使用索引,并且使用最严格的索引来消除尽可能多的数据行。你的最终目标是提交SELECT语句查找数据行,而不是排除数据行。优化器试图排除数据行的原因在于它排除数据行的速度越快,那么找到与条件匹配的数据行也就越快。如果能够首先进行最严格的测试,查询就可以执行地更快。假设你的查询检验了两个数据列,每个列上都有索引:

SELECT col3 FROM mytable

WHERE col1 = ’some value’ AND col2 = ’some other value’;

假设col1上的测试匹配了900个数据行,col2上的测试匹配了300个数据行,而同时进行的测试只得到了30个数据行。先测试Col1会有900个数据行,需要检查它们找到其中的30个与col2中的值匹配记录,其中就有870次是失败了。先测试col2会有300个数据行,需要检查它们找到其中的30个与col1中的值匹配的记录,只有270次是失败的,因此需要的计算和磁盘I/O更少。其结果是,优化器会先测试col2,因为这样做开销更小。

第1页

热门文档

相关文档

  • SQL_Server的查询优化方法的设计和实现

    //www.cqvip.com 数据库数据仓库数据挖掘 S evrQLSre 的查 询优化 方法 的设计 和 实现 Deinadraiaino eyOptiaini sg n elt fzoQur izt nSQLSre mo evr...

  • SQL Server 2005 SQL查询优化

    Page 7 of 12 SQL Server 2005 SQL 查询优化 任务 3. 检查捕获到的死锁信 息 详细步骤 1. 在 SQL Server Profiler 中,返回到你运行的跟踪中,单击停止所选...

  • 关于sql查询优化方案

    sql 优化、索引的建立和运用以及多表连接建索引一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询 SQL 语句,复 杂视图的编写等体会不出 SQL...

  • 【论文】ORACLE中SQL查询优化技术

    ORACLE中SQL查询优化技术_专业资料。数据库性能问题一直是决策者及技术人员共同关注的焦点,影响数据库性能的一个重要因素就是SQL查询语句的低效率。论文首先分析了导致...

  • SQL语句查询性能优化

    SQl 语句查询性能优化 【摘要】本文从 DBMS 的查询优化器对 SQL 查询语句进行性能优化的角度出发,结合数据库理论, 从查询表达式及其多种查询条件组合对数据库查询...

  • SQL查询语句的优化方法

    SQL查询语句的优化方法_计算机软件及应用_IT/计算机_专业资料。维普资讯 http://www.cqvip.com 第2 0卷 第 5期 重 庆 工 学院 学报 Jun fhnqn ntueoehoo...

  • 关系数据库SQL查询语句优化应用

    关系数据库 SQL 查询语句优化应用 摘要:针对目前关系数据库查询中 sql 查询语句存在的问题,本 文进行了详细的分析,并提出数据库 sql 查询语句的优化方案。 关键字...

  • 【论文】浅谈SQL Server数据库查询性能的优化

    浅谈SQL Server数据库查询性能的优化_专业资料。随着数据库应用系统中数据量的急剧增大,对数据库系统性能的优化显得极为重要。本文讨论了影响基于SQL Server应用系统性...

  • 数据库SQL查询处理及其优化方法的研究

    论文基于 SQL 语言 和对数据各种操作分析的基础上,探讨了数据库 SQL 查询处理的内容和过程,详细的研究了基于 SQL 查 询优化的一些策略,其中主要包括索引查询、SQL...

  • sqlserver查询优化

    sqlserver查询优化_计算机软件及应用_IT/计算机_专业资料。SQL Server查询优化 目前和来日的想法 查询的几种形式 1. ad hoc :select * from table1 where name...

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