如何编写更好的SQL查询:终极指南

  • 时间:
  • 浏览:1
  • 来源:uu快3分析_uu快3APP_计划

如保编写更好的SQL查询:终极指南-第二次责

原文链接:https://www.datacamp.com/community/tutorials/sql-tutorial-query#importance

如保让以下所列出的时间多样化度概念非常普遍。

《如保编写更好的SQL查询》教程的所有内容就介绍到这里,希望通过本教程的介绍,并能帮助一群人 编写出更好、更优的SQL查询。

使用大O符号,能并能根据输入的增长下行速率 来表示运行时间,机会输入能并能任意大。大O符号不包括系数和低阶项,以便能并能专注于查询运行时间的重要次责:增长率。使用你这人 措施时,会丢弃系数和低阶项,时间多样化度是逐渐描述出的,这原因分析分析 输入会变为无穷大。

下图是一张根据时间多样化度来估算查询性能的图表,通过图表能并能查看每个算法的性能表现。

通过什么示例,能并能看到查询的时间多样化度会根据运行的查询内容不同而有所不同。

一有一个 示例就说 在非索引列上使用WHERE子句进行查询:这就须要使用全表扫描或顺序扫描,这将原因分析分析 O(n)的时间多样化度。这原因分析分析 须要读取表中的每一行,以便找到正确ID的数据。即使第一行就查找到了正确的数据,查询还是会对每一行数据进行读取。

有一种 查询算法,不论输入的大小如保,都须要相同的时间来执行,你这人 措施就说 恒定时间查询。什么类型的查询不须常见,下面是一有一个 例子:

机会算法的执行时间与输入大小的对数成比,则算法被称为对数时间算法; 对于查询,这原因分析分析 执行时间与数据库大小的对数成正比。

最小多样化度为O(n log(n)),如保让基于连接属性的索引信息,最大多样化度会是O(n ^ 2)。

机会没了索引,则时间多样化度是O(n)。

【报表福利大放送】60 余套报表模板免费下载

对于查询,一群人 能并能不按照难度进行分类,就说 按照运行查询并得到结果所需的时间来进行分类。你这人 措施也被称为按照时间多样化度进行分类。

对于不同的数据库,须要考虑不同的索引措施、不同的执行计划和不同的实现措施。

本次一群人 学习《如保编写更好的SQL查询》系列的最后一篇文章。

与线性执行时间密切相关的是,所有线性执行计划的时间总和。下面是很多例子:

机会没了索引,没了你这人 查询的多样化度为O(n)i_id:

通过前两篇文章,一群人 机会对查询计划有了一定了解。接下来,一群人 还能并能借助计算多样化度理论,来进一步深入地挖掘和思考性能的提升。理论计算机科学你这人 领域聚焦于:根据难度来对计算问题图片图片进行分类。什么计算问题图片图片能并能是算法问题图片图片,并能并能是查询问题图片图片。

执行计划定义了每个操作所使用的算法,这也使得每个查询的执行时间能并能在逻辑上表示为查询计划中数据表大小的函数。换句话说,能并能使用大O符号和执行计划来估算查询的多样化性和性能。

能并能从以下方面衡量查询计划和时间多样化性,并进一步调优SQL查询:

如保编写更好的SQL查询:终极指南-第一次责

以下的示例中处在一有一个 i_id的索引,这也原因分析分析 O(log(n))的多样化度:

请注意,数据库的大小不仅随着表中存储数据的增加而增加,数据库中的索引也会影响数据库大小。

你这人 算法的时间多样化度是一有一个 常数,机会就说 从表中选者任意一行。如保让,时间长度与表的大小无关。

机会一有一个 算法的时间执行与输入大小成正比,没了算法的执行时间会随着输入大小的增加而增加。对于数据库,这原因分析分析 查询执行时间与表大小成正比:随着表中数据行数的增加,查询时间也会相应增加。

执行索引扫描(index Scan)或聚集索引扫描的查询计划时间多样化度,就说 对数时间。聚集索引是索引的叶级别蕴藏表的实际数据行的索引。聚集与很多索引非常这人:它是在一有一个 或多个列上定义的。这也形成了索引主键。聚集主键是是聚集索引的主键列。聚集索引扫描是聚集索引中RDBMS从头到尾一行一行读取的基本操作。

在数据库语言中,多样化性衡量了查询运行时间的长短。

在下面的小结中,一群人 机会了解一种 类型的时间多样化度概念。

相关阅读:

机会算法的执行时间与输入大小的平方成正比,则算法被称为对数时间算法。对于数据库,这原因分析分析 查询的执行时间与数据库大小的平方成正比。

请记得:嵌套连接是将一有一个 表中的每个记录与那我表中的每个记录进行比较的连接措施。

转载请注明出自:红心红心冬枣 城控件

一句SQL完成动态分级查询

具有二次时间多样化度的查询的示这人下: