仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1250|回复: 10
打印 上一主题 下一主题

[学习教程] MSSQL网页设计SQL教程:进步SQL实行效力的几点倡议

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:15:37 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。</p>进步SQL实行效力的几点倡议:
◆只管不要在where中包括子查询;
关于工夫的查询,只管不要写成:whereto_char(dif_date,yyyy-mm-dd)=to_char(2007-07-01,yyyy-mm-dd);
◆在过滤前提中,能够过滤失落最年夜数目纪录的前提必需放在where子句的开端;
FROM子句中写在最初的表(基本表,drivingtable)将被开始处置,在FROM子句中包括多个表的情形下,你必需选择纪录条数起码的表作为基本表。假如有三个以上的毗连查询,那就必要选择交织表(intersectiontable)作为基本表,交织表是指谁人被其他表所援用的表;
◆接纳绑定变量
◆在WHERE中只管不要利用OR
◆用EXISTS替换IN、用NOTEXISTS替换NOTIN;
◆制止在索引列上利用盘算:WHERESAL*12>25000;
◆用IN来替换OR:WHERELOC_ID=10ORLOC_ID=15ORLOC_ID=20
◆制止在索引列上利用ISNULL和ISNOTNULL;
◆老是利用索引的第一个列;
◆用UNION-ALL替换UNION;
◆制止改动索引列的范例:SELECT...FROMEMPWHEREEMPNO=123,因为隐式数据范例转换,to_char(EMPNO)=123,因而,将不接纳索引,一样平常在接纳字符串拼集静态SQL语句呈现;
◆!=将不利用索引;
◆优化GROUPBY;
◆制止带有LIKE参数的通配符,LIKE4YE%利用索引,但LIKE%YE不利用索引
◆制止利用坚苦的正轨表达式,比方select*fromcustomerwherezipcodelike"98___",即使在zipcode上创建了索引,在这类情形下也仍是接纳按次扫描的体例。假如把语句改成select*fromcustomerwherezipcode>"98000",在实行查询时就会使用索引来查询,明显会年夜年夜进步速率;
◆只管明白的完成SQL语句,只管少让数据库事情。好比写SELECT语句时,必要把查询的字段明白指出表名。只管不要利用SELECT*语句。构造SQL语句的时分,只管依照数据库的习气举行构造。
支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 22:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表