如何优化查询并实现高效并发控制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2527个文字,预计阅读时间需要11分钟。
我们在讨论优化思维和查询方式时,经常探讨如何高效获取信息。这次,让我们来整体讨论查询优化的策略。在开发过程中,当我们需要调度数据时,大脑中首先要考虑的,就是优先应用这些优化策略来达到目标。
前面我们聊过优化的思想和连接查询的最优方式。本次呢我们来谈谈查询优化的整体策略,就是在开发当中,当我们需要调度数据的时候我们的脑海里就需要优先考虑这些策略来达到程序上的优化。
所谓的查询优化呢,就算我们想要提高查询效率,查询占用时间及空间越少,查询的效率越高。所以呢,我们需要有一套行之有效的策略按照关系代数等价变化规则对查询表达式进行变换,来实现优化代价合理、查询效率高的查询计划。
01
选择运算尽早执行。前面我们提到过,选择运算就是加条件筛选,在面对数据比较大的表数据时根据条件来命中需要的数据避免无关数据也进行查询。
投影运算与选择运算同时进行。投影运算即选择列查询,在查询关系表时需要的列进行查询避免“*”查询 同时配合选择运算一起。
将笛卡尔积与随后的选择运算合并为连接运算。因为连接运算(尤其是自然连接)要比笛卡尔积所花费的时间要少很多。
投影运算与其他运算同时进行。即投影运算可以搭配任意的运算同时进行。无论如何查询,选择需要的列进行查询往往很有效的一种方式。不必为了删除关系的某些属性值而把关系属性再扫描一遍。
将笛卡尔积与随后的选择运算合并为连接运算。
本文共计2527个文字,预计阅读时间需要11分钟。
我们在讨论优化思维和查询方式时,经常探讨如何高效获取信息。这次,让我们来整体讨论查询优化的策略。在开发过程中,当我们需要调度数据时,大脑中首先要考虑的,就是优先应用这些优化策略来达到目标。
前面我们聊过优化的思想和连接查询的最优方式。本次呢我们来谈谈查询优化的整体策略,就是在开发当中,当我们需要调度数据的时候我们的脑海里就需要优先考虑这些策略来达到程序上的优化。
所谓的查询优化呢,就算我们想要提高查询效率,查询占用时间及空间越少,查询的效率越高。所以呢,我们需要有一套行之有效的策略按照关系代数等价变化规则对查询表达式进行变换,来实现优化代价合理、查询效率高的查询计划。
01
选择运算尽早执行。前面我们提到过,选择运算就是加条件筛选,在面对数据比较大的表数据时根据条件来命中需要的数据避免无关数据也进行查询。
投影运算与选择运算同时进行。投影运算即选择列查询,在查询关系表时需要的列进行查询避免“*”查询 同时配合选择运算一起。
将笛卡尔积与随后的选择运算合并为连接运算。因为连接运算(尤其是自然连接)要比笛卡尔积所花费的时间要少很多。
投影运算与其他运算同时进行。即投影运算可以搭配任意的运算同时进行。无论如何查询,选择需要的列进行查询往往很有效的一种方式。不必为了删除关系的某些属性值而把关系属性再扫描一遍。
将笛卡尔积与随后的选择运算合并为连接运算。

