


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL优化的几个方面sql数据库优化非常重要,如果sql数据库优化的不好,不 仅会增加客户端和服务器端程序的编程和维护的难度,而 且还会 影响系统实际运行的性能。那我们可以从哪些方面来进行sql数 据库优化呢? 一:就是合理的数据库的设计。当前我们使用最多 的就是关系型数据库,关系数据库设计是对数据进行组织化和结 构化的过程,核心问题是关系模型的设计。对于数据库规模较小 的情况,我们可以比较轻松的处理数据库中的表结构。然而,随 着项目规模的不断增长,相应的数据库也变得更加复杂,关系模 型表结构更为庞杂,这时我们往往会发现我们写岀来的SQL语 句的是很笨拙并且 效率低下的。更糟糕的是,由于表结构
2、定义的 不合理,会导 致在更新数据时造成数据的不完整。因此数据库的 规范化流程尤为重要,它可以以指导我们更好的设计数据库的表 结构,减少冗余的数据,借此可以提高数据库的存储效率,数据 完整性和可扩展性。那怎么才算是规范化的设计流程:规范化设 计的过程就是按不同的范式,将一个二维表不断地分解成多个二 维表并建立表之间的关联,最终达到一个表只描述一个实体或者 实体间的一种联系的目标。目前遵循的主要范式包括1 NF、2 NF、3 NF、BCNF、4NF和5NF等几种;在工程中 3NF、BCNF应用得最广泛,推荐采用3NF作为标准。规范化设计的优点包括可有效地消除数据冗 余,理顺数据的从属关系,保持数
3、据库的完整性,增强数据 库的稳 定性、伸缩性、适应性。通常认为规范化设计存在的主要问题 是增加了查询时的连接库表运算,导致计算机时间、空间、系 统及运行效率的损失。在大多数情况下,这一问题可通过良好 的索引设计等方法得到解决。数据库设计中关键的步骤就是要 确保数据正确地分布到数据库的表中。比如说,一个客户的地 址信息不应该被存储在不同的表中,因为这里的客户地址是雇 员的一个属性。如果存在过多的冗余数据,这就意味着要占用 了更多的物理空间,同时也对数据的维护和一致性检查带来了 问题,当这个客户的地址发生变化时,冗余数据会导致对多个表的更新动作,如果有一个表不幸被忽略了,那么就可能导致数据的不一致
4、性。二:查询的优化如何让你写的SQL语句跑的更快呢?影响我们代码速度的都有哪些可能性呢?不恰当的 索引设计、不充份的连接条件 和不可优化的where子句都有可 能造成速度的下降。首先来看看索引的建立。微软的sql server提供了两种索引:聚集索引(clustered index,也称聚 类索引、簇集索引)和非聚集索引(nonclustered index ,也称非聚类索引、非簇集索引),聚集索引简单理解 就是数据的实际的存放位置:如我们的汉语字典正文本身就是迅速一个聚集索引,当我们知道要查的字拼音首字母为A时, 缩小查询范围,翻到前几页就可以很快找到了,避免全表扫 描,当然这种索引对于一个
5、表只能有一个,因为只能按 照一种 方法进行排序存放,所以一定得选择最合适的聚集索引规则。非聚集索引,简单来说就是目录,比如字典中的偏 旁部首目 录,当我们要查找数据的时候我们先通过目录缩写 范围,再进 行查询目标的确认。下表我们可以作为参考建立适合的索引索 引有助于提高检索性能,但过多或不当的索引也会导致系统低 效。因为用户在表中每加进一个索引,数据 库就要做更多的工 作。过多的索引甚至会导致索引碎片。所 以合适的索引才能使 数据库得到性能的提高。再者就是连接条件:其实在多表链接 操作被实际执行前,查询优化器会根据连接条件,列出几组可 能的连接方案并从中找岀系统开销最小的最佳方案。连接条件 要
6、充份考虑带有索引的表、数据记录数多的表;可以打开执行 计划,看具体的执行情况,哪些环节的资源的占用大,是否可 以优化查询或者优化结构。另外:动态管理 视图(DMV)和动态 管理函数(DMF)返回的服务器状态信息可用于监控服务器实例 的运行状况、诊断问题和优化性能。如:查找哪些批处理/请求生成的I/O最多、查询以查看CPU、计划程序内存和缓冲池信息、CPU平均占用率最高SQL语句等。涉及的视图及函数如下:sys dm_exec_sql_text、dm_exec_query_stats、 dm_os_sys_info 、 dm_exec_cached_pla.ns> dm_exec_query_p 1 an> 等 三:就是where条件 我们建立了索引就不是就可以使查询的速度达到最快,而是 在查询的时候要使用到索引,才会优化我们 的查询速度。比例根据部门列建立了索引,但是我们在使用部门的查询条件的时候用%xxx%此种条件是使用不到索引 的,如下like便可以'XXX% ' ;UNION在进行表链接后会筛选掉重复的 记录,而往往重复的基本上不存在,可以采用UNIONALL操作符替代UNION
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 利用新思路创新未米-探究新形势下的区块链挑战和机遇
- 医疗APP防骗教育守护患者权益
- 2024-2025项目管理人员年度安全培训考试试题答案审定版
- 康宁心理测试题及答案
- 2025年岗前安全培训考试试题及参考答案【综合卷】
- 2024-2025安全管理员安全培训考试试题及答案新版
- 区块链技术驱动的商业创新之路
- 医疗信息技术的伦理与法律框架
- 企业内部办公用品采购的效率提升-区块链技术的解决方案
- 登革热患者心理干预研究-全面剖析
- 2025届高考英语读后续写提分技巧+讲义
- 粮食熏蒸培训课件
- 2024秋国家开放大学《四史通讲》形考作业、期末大作业试卷ABC参考答案
- 辽宁省第二届职业技能大赛(健康照护赛项)理论参考试题及答案
- 舰艇损害管制与舰艇损害管制训练
- 围墙拆除重建施工方案
- 2024贵州中考物理二轮中考题型研究 题型八 新情景探究实验专项训练 (含答案)
- 2023年高考历史真题新高考福建卷试题含答案解析
- 四川省绵阳市东辰学校2023-2024学年七年级下学期3月月考语文卷
- DZ/T 0430-2023 固体矿产资源储量核实报告编写规范(正式版)
- 禁止编入列车的机车车辆讲解
评论
0/150
提交评论