在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

优化SQL SELECT语句性能的6个简单技巧分别是什么

116次阅读
没有评论

共计 1654 个字符,预计需要花费 5 分钟才能阅读完成。

本篇文章给大家分享的是有关优化 SQL SELECT 语句性能的 6 个简单技巧分别是什么,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。

SELECT 语句的性能调优有时是一个非常耗时的任务,在我看来它遵循帕累托原则。20% 的努力很可能会给你带来 80% 的性能提升,而为了获得另外 20% 的性能提升你可能需要花费 80% 的时间。除非你在金星工作,那里的每一天都等于地球上的 243 天,否则交付期限很有可能使你没有足够的时间来调优 SQL 查询。根据我多年编写和运行 SQL 语句的经验,我开始开发一个检查列表,当我试图提高查询性能时供我参考。在进行查询计划和阅读我使用的数据库文档之前,我会参考其中的内容,数据库文档有时会很复杂。我的检查列表绝对说不上全面或科学,它更像是一个保守计算,但我可以说,遵循这些简单的步骤大部分时间我确实能得到性能提升。检查列表如下。

检查索引

在 SQL 语句的 WHERE 和 JOIN 部分中用到的所有字段上,都应该加上索引。进行这个 3 分钟 SQL 性能测试。不管你的成绩如何,一定要阅读那些带有信息的结果。

限制工作数据集的大小

检查那些 SELECT 语句中用到的表,看看你是否可以应用 WHERE 子句进行过滤。一个典型的例子是,当表中只有几千行记录时,一个查询能够很好地执行。但随着应用程序的成长,查询慢了下来。解决方案或许非常简单,限制查询来查看当前月的数据即可。当你的查询语句带有子查询时,注意在子查询的内部语句上使用过滤,而不是在外部语句上。

只选择你需要的字段额外的字段

通常会增加返回数据的纹理,从而导致更多的数据被返回到 SQL 客户端。另外:

使用带有报告和分析功能的应用程序时,有时报告性能低是因为报告工具必须对收到的、带有详细形式的数据做聚合操作。

偶尔查询也可能运行地足够快,但你的问题可能是一个网络相关的问题,因为大量的详细数据通过网络发送到报告服务器。

当使用一个面向列的 DBMS 时,只有你选择的列会从磁盘读取。在你的查询中包含的列越少,IO 开销就越小。

移除不必要的表

移除不必要的表的原因,和移除查询语句中不需要的字段的原因一致。编写 SQL 语句是一个过程,通常需要大量编写和测试 SQL 语句的迭代过程。在开发过程中,你可能将表添加到查询中,而这对于 SQL 代码返回的数据可能不会有任何影响。一旦 SQL 运行正确,我发现许多人不会回顾他们的脚本,不会删除那些对最终的返回数据没有任何影响和作用的表。通过移除与那些不必要表的 JOINS 操作,你减少了大量数据库必须执行的流程。有时,就像移除列一样,你会发现你减少的数据又通过数据库返回来了。

移除外部连接查询

这说起来容易做起来难,它取决于改变表的内容有多大的影响。一个解决办法是通过在两个表的行中放置占位符来删除 OUTER  JOINS 操作。假设你有以下的表,它们通过定义 OUTER JOINS 来确保返回所有的数据:

解决办法是在 customer 表的行中增加一个占位符,并更新 sales 表中的所有 NULL 值到占位符。

你不只是删除了对 OUTER  JOIN 操作的依赖,同时标准化了没有客户的销售人员如何表示。其他开发人员不必编写额外语句,例如 ISNULL(customer_id,“No customer  yet”)。

删除 JOIN 和 WHERE 子句中的计算字段

这是另外一个有时可能说起来容易做起来难的技巧,它取决于你更改表模式的权限大小。可以将连接语句中用到的计算字段作为一个新字段在表中创建。给出以下 SQL 语句:

在 sales 表中利用年和月增加一列,可以提高性能。更新后的 SQL 语句将如下: 

上边的建议可以归结为以下几点:

检查索引

在所需要的最小数据集上操作

移除不必要的字段和表

移除你 JOIN 和 WHERE 子句中的计算操作

以上就是优化 SQL SELECT 语句性能的 6 个简单技巧分别是什么,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计1654字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 青木玲中文字幕一区二区 | 男人天堂亚洲色图 | 日韩欧美一区在线观看 | 四虎影库网址 | 国产精品国色综合久久 | 玩弄丰满少妇xxxxx性多毛 | 亚洲春色综合另类网蜜桃 | 欧美高清激情毛片 | 色草在线 | 美女被狂躁www离线观看视频 | www.夜夜骑| 久久99久久99精品免观看女同 | 看全色黄大色大片免费久黄久 | 92精品国产自产在线观看48页 | 丰满多毛的大隂户视频 | 暗香影院午夜片 | 少妇av射精精品蜜桃专区 | 亚洲av无码潮喷在线观看 | 人人人妻人人澡人人爽欧美一区 | 四虎免费在线 | 在线亚洲成人 | 亚洲欧洲中文日韩久久av乱码 | 青草国产精品久久久久久 | 四虎永久在线精品视频免费观看 | 国产91一区二这在线播放 | 丰满少妇熟女高潮流白浆 | 国产日产一区二区三区四区五区 | 成年人福利视频 | 国产百合互慰吃奶互揉视频 | 成人做爰69片免费看网站 | 欧美性猛交内射兽交老熟妇 | 久久人人爽人人爽大片aw | 亚洲精品综合欧美一区二区三区 | 高清精品一区二区三区 | 夜夜骑加勒比 | 精品人妻系列无码人妻漫画 | 日本午夜影院 | 亚洲激情影院 | 美国一级大黄一片免费zzz | 欧美洲大黑香蕉在线视频 | www.日本高清视频.com |