数据库-SQL优化课件.ppt

数据库-SQL优化课件.ppt

ID:57001568

大小:164.00 KB

页数:17页

时间:2020-07-26

数据库-SQL优化课件.ppt_第1页
数据库-SQL优化课件.ppt_第2页
数据库-SQL优化课件.ppt_第3页
数据库-SQL优化课件.ppt_第4页
数据库-SQL优化课件.ppt_第5页
资源描述:

《数据库-SQL优化课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库-cmquan2021/7/28iSoftStoneTechnologiesLtd.©2005iSoftStoneTechnologiesLtd.Allrightsreserved.2SQL优化1.使用WHERE子句过滤行2.使用表连接而不是多个查询3.执行连接时使用完全限定的列引用4.使用CASE表达式而不是多个查询5.索引6.使用WHERE而不是HAVING7.使用UNIONALL而不是UNION8.使用EXISTS而不是IN9.使用EXISTS而不是DISTINCT©2005iSoftStoneTechnologiesLtd.Allrightsreserv

2、ed.3SQL优化使用WHERE子句过滤行使用where条件语句。Where子句中应避免使用函数,否则会增加执行时间。©2005iSoftStoneTechnologiesLtd.Allrightsreserved.4SQL优化2.使用表连接而不是多个查询例:现有products,product_type表。查询出商品为“苹果”的基本信息及类型。--BADselectname,product_type_idfromproductswherename='苹果‘--GOODselectp.name,p.product_type_id,pt.namefromproducts

3、p,product_typeptwherep.product_type_id=pt.idandp.name='苹果'selectnamefromproduct_typewhereid=1©2005iSoftStoneTechnologiesLtd.Allrightsreserved.5SQL优化执行一个查询通常比执行两个查询效率高。查询中必须选择连接顺序,将数据量比较少的放在后边。比如:要连接3个相关表table1,table2,table3。假设table1有1000行,table2有100行,table3有10行。首先应将table2连接到table1上,接着是t

4、able2和table3。©2005iSoftStoneTechnologiesLtd.Allrightsreserved.6SQL优化3.执行连接时使用完全限定的列引用例:products,product_type。多表链接查询所有数据。--BADselectp.name,pt.name,description,pricefromproductsp,product_typeptwherep.product_type_id=pt.id--GOODselectp.name,pt.name,p.description,p.pricefromproductsp,produc

5、t_typeptwherep.product_type_id=pt.id©2005iSoftStoneTechnologiesLtd.Allrightsreserved.7SQL优化4.使用CASE表达式而不是多个查询例:查询products表中的价格小于20、20到500之间、大于500的数量。--BADselectcount(id)countNumfromproductswhereprice<20--GOODselectcount(casewhenprice<20then1elsenullend)low,count(casewhenpricebetween20an

6、d500then1elsenullend)med,count(casewhenprice>500then1elsenullend)highfromproductsselectcount(id)countNumfromproductswherepricebetween20and500selectcount(id)countNumfromproductswhereprice>500©2005iSoftStoneTechnologiesLtd.Allrightsreserved.8SQL优化5.索引(index)理解为一种特殊的目录。1、聚集索引2、非聚集索引©2005iS

7、oftStoneTechnologiesLtd.Allrightsreserved.9SQL优化聚集索引:确定表中数据的物理顺序。例:汉语字典的正文本身就是一个聚集索引。汉语字典的排序是从“a”到“z”。如果查询“安”,就会在“a”部分里找,如果找不到就属于没有这个字。©2005iSoftStoneTechnologiesLtd.Allrightsreserved.10SQL优化聚集索引:适用于聚集索引的情况包括:1、含有大量非重复值的列。2、使用BETWEEN,>,>=,<或<=返回一个范围值的列3、被连续访问的列4、返回大型结果集的查询5、经常被

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。