- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH10.数据库优化
第十章 数据库性能优化 提纲 SQL语句对效率的影响 索引与查询性能 事务与锁管理 硬盘子系统设计 其它应注意的问题 SQL语句对效率的影响 WHERE子句的规范 SQL的注意事项 WHERE子句的规范 WHERE子句常犯的错误 对数据字段做运算 负向查询 对数据字段使用函数 使用OR运算符 不要对数据字段做运算 无运算的字段可以引用索引,有运算的字段将无法引用索引进行优化而需要扫描整个表 示例 比较下列语法的差异: SELECT * FROM [Order Details] WHERE Quantity=100 SELECT * FROM [Order Details] WHERE Quantity+1 =101 还包括其它的运算,如字符连接等 不要使用负向查询 负向查询: NOT、!=、、!、!、NOT EXISTS、NOT IN、NOT LIKE等 负向查询不能充分利用索引进行二分查找,需要扫描整张表 示例 SELECT * FROM [Order Details] WHERE Quantity!=100 可改成: SELECT * FROM [Order Details] WHERE Quantity100 OR Quantity100 不对数据字段使用函数 数据字段使用函数就是一种运算,将使效率低 比较: SELECT * FROM [Order Details] WHERE ABS(Quantity-100)1 SELECT * FROM [Order Details] WHERE Quantity99 AND Quantity101 SELECT * FROM Employees WHERE SUBSTRING (LastName,1,1)=‘D’ SELECT * FROM Employees WHERE LastName LIKE ‘D%’ 使用OR运算符 AND运算符可以充分引用索引 SELECT * FROM Orders WHERE CustomerID=‘IS10008’ AND OrderDate= 只需要在CustomerID上建索引就可以了 OR运算符需要对参与查询的多个字段都建索引,否则将可能扫描全表 SELECT * FROM Orders WHERE CustomerID=‘IS10008’ OR OrderDate= 需要在CustomerID和OrderDate两个属性上都建合适的索引,否则将扫描整个数据表 SQL的注意事项 SELECT语法 尽量不要传回数据表的所有字段,也不要不使用过滤条件,否则将极大地增加网络负担 若使用复合索引,索引顺序上的第一个字段才适合当作过滤条件 DISTINCT、ORDER BY等语法尽量等到查询需要时才使用,因为它们需要SQL SERVER的额外计算 SQL的注意事项 大量数据加载 大量加载某个数据表时,应考虑先删掉索引,加载完毕再重建索引(特别是多个用户端同时在做大量数据加载时) BULK INSERT语法通常比bcp工具程序快 大量数据加载时,应设参数采用数据表锁定,而不要采用默认的记录锁 如果数据表的记录需要先做转换,应先导入临时表中,经过处理再大量加载到目的数据表中 INSERT、DELETE和UPDATE 对大量数据,SELECT INTO比INSERT快 对大量数据,TRUNCATE TABLE比DELETE TABLE快 UPDATE和DELETE采用WHERE子句时,条件要符合WHERE的有效格式 索引与查询性能 索引及其相关属性配置 聚集索引与非聚集索引 排序 Sysindexes系统数据表 索引是否值得 统计 联结与查询效率 覆盖索引 在视图与计算字段上建索引 数据不连续的处理 索引及相关属性配置 索引是有效使用数据库系统的基础 索引建立是否适当是性能好坏的成功关键 索引数据放在分页中,用来当做索引的数据字段越小越好,也就是让分页尽量存放更多的索引项 索引结点有三种结构: 根结点分页 叶子层 非叶子层 索引及相关属性配置 创建索引的语法格式: CREATE INDEX 索引名 ON 表名(列名) 建索引时,可根据不同的需求进行选项配置: FILLFACTOR(填充因子) 在建(包括重建)索引时,保留部分空间让随后的新建、修改可直接利用这些空间 需要立刻对某个数据表更新所有的索引,最简单的方式是通过DBCC DBREINDEX命令重建该数据表的聚集索引,则所有的非聚集索引都会同时自动更新 IGNORE_DUP_KEY 对于唯一索引,当插入多条记录(包括重复记录)时,若建索引没有配置该选项,将全部回滚,否则仅放弃重复记录 索引及相关属性配置 选项配置:(续) DROP_EXIS
您可能关注的文档
- 会员服务事业部工作总结.doc
- 电路分析试卷_B试卷及答案.doc
- gzw物理必修一.doc
- 2012高考压轴题理科数学含答案(上).doc
- 四股泉煤矿机电队组织机构.ppt
- 地图部分基础知识填空题.doc
- 2012年度护理安全月活动总结.doc
- “6S”管理组织机构及工作职责.doc
- 1.认识方位.ppt
- 员工的激励的常用方法.ppt
- 2025至2030中国婴儿拉式蚊帐行业发展现状及发展趋势与投资风险报告.docx
- 2025至2030中国半导体陶瓷靶行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国果汁行业供需趋势及投资风险报告.docx
- 2025至2030中国双节距滚子链行业项目调研及市场前景预测评估报告.docx
- 2025至2030全球及中国电子电气中的cPDM行业项目调研及市场前景预测评估报告.docx
- 2025至2030工业风幕行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至20305G技术行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030钛合金行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030中国冶金工程施工总承包行业运营态势与投资前景调查研究报告.docx
- 2025至2030铁路IT支出行业产业运行态势及投资规划深度研究报告.docx
最近下载
- 2024年中国零售商调查报告—全球化视角之海外门店拓展.pdf VIP
- 八大特殊作业(八大危险作业)安全管理知识与规范培训(PPT132页).pptx VIP
- 银行会计岗位招聘笔试题(某大型集团公司)试题集解析.docx VIP
- 磅房计量考试试题及答案.doc VIP
- 绿化养护标准及收费办法.docx VIP
- 儿童闭塞性细支气管炎的诊断和治疗(2023版)专家共识解读课件.pptx VIP
- CTX-M耐药基因流行病学调查及耐药机制研究.pdf
- 中国共产党纪律处分条例测试题附答案+考试注意事项.doc VIP
- 财务会计与税务会计差异及协调探讨.doc VIP
- (高清版)DG∕TJ 08-2410-2022 文物和优秀历史建筑消防技术标准.docx VIP
文档评论(0)