欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    sql经验总结.ppt

    • 资源ID:67250135       资源大小:463KB        全文页数:20页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    sql经验总结.ppt

    Sql效率经验总结SQL 开发观点对于客户-服务器结构的数据库应用程序来说,减少网络传输的数据量直接影响到应用程序的性能。在编程时应注意尽量减少网络流量,避免不必要的数据传输。另外,数据库的加锁机制和事务处理也会直接影响到一个应用程序性能的好坏。在这里提供一些建议供大家参考。合理使用存储过程将完成一个功能的SQL语句写成存储过程,不但可以减少网络流量,而且由于存储过程是预编译的,能进一步提高响应速度。WHERE子句在SELECT语句中通过使用WHERE子句来减少返回的记录数。去掉不需要的字段避免使用 SELECT*FROM 语句,要使用 SELECT F1,F2 FROM 语句,去掉不需要的字段。避免显式或隐含的类型转换避免显式或隐含的类型转换,如在WHERE 子句中Numeric 型和 Int型的列的比较。SQL SERVER在SELECT 语句中,如果表中的大部分记录符合查询条件,尽管WHERE子句中的字段上有索引,但SQL SERVER不会使用索引,而是顺序扫描该表。复合索引对于复合索引要注意,例如在建立复合索引时列的顺序是F1,F2,F3,则在WHERE 或ORDER BY子句中这些字段出现的顺序要与建立索引时的字段顺序一致,可以是F1或F1,F2 或F1,F2,F3。否则SQL SERVER不会用到该索引。尽快地提交事务SQL SERVER为了支持事务一致性,对共享的资源上保留锁直至事务被提交。其他要使用相同资源的用户必须要等待。如果一个事务变长的话,锁的队列以及等待锁的用户队列将会变长,这最终导致系统吞吐量的降低。长的事务还增加了出现死锁的可能性。具体包括在事务中不能包含用户交互,避免更新同一数据两次,大批量的数据更新放在事物的后面部分等。尽量减少对列的四则运算在WHERE 子句中,尽量减少对列的四则运算。例如:select colA from tableA where salary*12 12000应该用如下语句代替:select colA from tableA where salary 1000在WHERE 子句中,尽量用=代替。例如:select F1 from Table1 where a3(其中a 为int 型)在该例中,a列上是有索引的,SQL SERVER扫描索引页,直到a=3的页,然后顺序扫描,直到a=4,如果a=3的记录很多,会有很多无效的I/O操作。应该用如下语句代替:elect F1 from Table1 where a=4避免在IF EXISTS 和 IN 操作符中使用NOTl因为不使用NOT,SQL SERVER在得到满足条件的第一条记录后返回,而使用NOT操作符,SQL SERVER 可能要扫描整个表。例如:if not exists(select*from tableA where)begin statement group oneendelsebegin statement group twoendl应该用如下语句代替:if exists(select*from tableA where)begin statement group twoendelsebegin statement group oneendIF EXISTS 语句在判断有无符合条件的记录时不要用SELECT COUNT(*)语句,而是要用IF EXISTS 语句:例如:declare var intselect var=count(*)from employee where emp_id=123if var!=0.more sql code.应该用如下语句代替:if exists(select 1 from employee where emp_id=123)begin.more sql code.endWHERE子句中的等于列(1)在WHERE子句中如果对于某列有等于的条件,则在SELECT子句中不应该出现该列,例如:select cust_number,cust_namefrom customer where cust_number=612应该用如下语句代替:select cust_namefrom customer where cust_number=612WHERE子句中的等于列(2)在WHERE子句中如果对于某列有等于的条件,则在ORDER BY子句中不应该出现该列,例如:select cust_number,cust_name,cust_stfrom customer where cust_st=Lorder by cust_st,cust_name应该用如下语句代替:select cust_number,cust_namefrom customer where cust_st=Lorder by cust_number同一个列的多个OR条件在WHERE子句中,对于同一个列的多个OR条件,用IN 操作符来代替,例如:select cust_number,cust_name,cust_st from customerwhere cust_st=L or cust_st=A or cust_st=Iorder by cust_st,cust_number应该为:select cust_number,cust_name,cust_st from customerwhere cust_st in(L,A,I)order by cust_st,cust_number求最大值和最小值的列对于要求最大值和最小值的列,如果在该列上有索引,则要分开用两个SQL语句来求,例如:select max(price),min(price)from titles(price上有索引)应该用如下语句代替:select max(price)from titlesselect min(price)from titles 对于能用联结实现的功能,不要用子查询实现例如:select name from customer where customer_id in(select customer_id from order where money1000)应该用如下语句代替:select name from customer inner join order on customer.customer_id=order.customer_idwhere order.money100检查被更新的行数时在检查被更新的行数时用rowcount,而不用select count(*).例如:select count(*)from customerwhere cust_st=1 and cust_code=2update customer set cust_discount=.15where cust_st=1 and cust_code=2应该用如下语句代替:update customer set cust_discount=.15where cust_st=1 and cust_code=2select update_count=rowcount通配符”_”的使用对于通配符”_”的使用,如果该通配符放在匹配模式的前面,将引起SQL引擎对表进行扫描,而不使用索引。例如:select Ven_ID from vendor where name like _a如有可能,可用如下语句代替:select Ven_ID from vendor where name like a-za

    注意事项

    本文(sql经验总结.ppt)为本站会员(s****8)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开