最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

值得收藏!这是SQL数据库优化的六种方法

[复制链接]
跳转到指定楼层
楼主
发表于 2017-10-27 20:48:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

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

x

SQL命令因为语法简单、操作高效受到了很多用户的欢迎。但是,SQL命令的效率受到不同的数据库功能的限制,特别是在计算时间方面,再加上语言的高效率也不意味着优化会更容易,所以每个数据库都需要依据实际情况做特殊调整。

同时,这也是为什么我们要尽可能多的了解不同的方法来优化或增强数据库,以确保最佳性能的原因。不同职位的开发人员针对SQL数据库的优化也会有所不同,例如在某些方面的优化就会与数据库管理员(DBA)有所不同。在大型公司中,开发人员和数据库管理员往往需要一起工作,而在这些情况下,两队之间很可能发生冲突。所有我们要通过多种方式来调整SQL数据库。

1. 适当的索引

索引基本上是一个数据结构,有助于加快整个数据检索过程。唯一索引是一种索引,可以创建不重叠的数据列。正确的索引能够更快地访问数据库,但是过多的索引或无索引反而会造成不好的结果,如果没有索引,那么处理会非常慢。

2. 仅检索相关数据

指定数据需要检索的精度。使用命令*和LIMIT来代替 SELECT *,调整数据库时,使用需要的数据集来代替整个数据集是非常有必要的,尤其是当你的数据源非常大的时候,指定所需要用的数据集将节省大部分时间。

*命令用于从列指定数据,LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。它们两的组合避免了未来系统出现问题,此外,数据集的限定也在一定程度上减少了对数据库的进一步优化。

3. 摆脱相关的子查询

相关子查询基本上取决于父查询或外部查询。这种搜索是逐行完成的,这意味着它会降低整个过程的速度。通常如果WHERE来自于从外部查询的命令,应用子查询运行每一行,由父查询返回,从而减慢整个进程并降低数据库效率的话,更好的调整数据库的方式是INNER JOIN命令。当然在某些情况下,使用相关的子查询至关重要。

4. 根据要求使用或避免临时表

如果代码可以以简单的方式写,绝对不要让临时表复杂化。当然,如果一个数据具有需要多次查询的具体程序,在这种情况下,建议使用临时表。临时表通常由子查询来交替。

5. 避免编码循环

避免编码循环是非常需要的,因为它会拖慢整个序列。通过使用具有单个行的唯一UPDATE或INSERT命令来避免编码循环,并且通过WHERE命令确保不更新存储的数据,以便在找到匹配且预先存在的数据的情况下实现。

6. 执行计划

优化器创建的执行计划工具在调优SQL数据库方面发挥主要作用。它们也有助于创建适当的索引。虽然它的主要功能是以图形方式显示检索数据的各种方法。但这反过来也有助于创建所需的索引并执行其他所需的步骤来优化数据库。

当然除此之外还有许多其他方法可以以有效的方式来调整其SQL数据库。欢迎大家在下方积极留言评论,共同交流探讨。

作者:田晓旭来源:it168网站
楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-25 18:14

Powered by BI168大数据社区

© 2012-2014 168大数据

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