查询优化:部署等

在本文中,您将了解所需的一切 查询优化 在数据库管理系统中; 显着改善这些技术系统的响应时间。

查询优化-1

今天的主要数据库管理系统。

查询优化,什么是DBMS?

在我们开始讨论一些提示和建议之前,以改进 查询优化 您的网站或应用程序。 对当今存在的 DBMS 有所了解是很重要的。

SGBD,其首字母缩写词代表数据库管理系统; 它们是一组程序,允许用户在各种意义上操作某些信息,并保存在数据库中; 例如提取、存储和/或修改这些。

除此之外,它们有助于为该数据库提供所有必要的安全性,以管理和控制用户的进出流程; 甚至保护这些信息,以防信息被破坏和消失,被恢复。 重要的是,它们也是 查询优化.

换句话说,一个应用程序、计算机或网站要正常运行,数据库系统的存在是必要的,否则,它根本没有用。

我们可以命名当今存在的 DBMS 的最显着示例之一; 有: 微软SQL Server; CouchDB的 (这个是专门针对文档部分的); MongoDB的 (方向与前一个相同); 以及其中最著名和最常用的, MySQL的,关系型,开源,由 WordPress 等平台使用。

如果您想了解更多关于数据库的信息,特别是关于 MySQL的; 我们推荐以下文章,您将在其中了解有关当今如此广泛使用的该软件的更多信息: MYSQL 中的数据类型。

什么是查询优化?

基本上,它是显着和优化地提高 DBMS 的响应时间; 以这样的方式,他们可以在创纪录的时间内向用户提供所需的信息。 它发生在某些情况下,某些应用程序或其他应用程序往往非常复杂,以至于在咨询时,获得响应的时间很长; 在很多情况下,这个答案通常不是最“最优”的,即可能的最好。

有一些基于成本的优化器,而这些优化器又基于某些计划; 它们将是那些通过分析能够给出优化查询的最佳路径的结果; 当然,采取那些成本最低的计划。

重要的一点是用户不能直接访问优化器; 他们首先必须经过一个分析过程,在这一步之后,用户就已经可以访问优化了

他们如何工作?

大部分 查询优化, 是通过节点树实现的,以图形方式表示它们。 该树中存在的每个节点代表一个计划,而封装在这些节点中的那些计划只不过是简单的操作。

可能每个节点都有其他子节点,有计划; 但以同样的方式,他们将运行与其父节点相同的计划。 在这个“节点树”的叶子的情况下,它们代表所有存在的节点执行的所述操作的结果。

作为重要数据,在数据库管理系统中; 节点是 JOIN,它允许从数据库中的表(这些可以是多个或只有一个)中组合记录。 其实这个词 加入从英文翻译过来,意思是“团结”。

说了上一段所写的内容后, 查询优化 他们有什么更大的影响力? 就是按照数据表的操作顺序,也就是按照JOIN的顺序。 进一步的优化可以由小表的操作而不是大表的操作来决定; 如果反过来,这个过程可能需要比预期更长的时间。

许多优化器使用某种算法,由 System R 数据库项目; 遵循一系列分析和搜索阶段; 最终,他们会产生最好的结果。 如果这些结果遵循相同的顺序,则必须认为它们比其他结果更好; 因为这可以进一步缩短响应时间。

什么是元组?

元组是数据库中最重要的元组之一。 因为包含所述数据信息的对象(在数学定义的情况下)。 转到计算机领域,它与之前的定义没有太大区别,只是在这种情况下,它对应于特定表的一行; 因此,后者是包含保存数据的那些。

就像在数学领域一样,这些对象中存储的数据是无序的,因为不仅仅是一个列表,它们是一组数据; 并且没有重复和任何类型的元组复制,因为从数学上讲,这是不可能的。

优化流程

La 查询优化, 遵循一系列步骤或过程。 在这种情况下,我们将简单地命名它们,在下一节中,我们将介绍一些提示以提高性能。

第一步是 查询的内部表示,必须具有一系列特征(在下一节中提到)和系统,才能表示逻辑表达式。 第二步, 转换为规范形式, 这里会找到一个等价的表达式(派生自原文),它会成为查询的规范形式并提高查询的性能。

第三道工序, 选择低级程序, 在这里,您将找到查询的几个点(例如替代索引和路径)。 最后, 查询计划的生成和选择

查询优化的一些技巧

在本节中,我们将命名四个主要优化过程,但最重要的是; 一些需要考虑的方面,以提高响应时间,这是这篇文章的重点。 需要考虑的非常重要的一点是要有一个计划(我们之前已经命名过),因为这样,过程将大大加快。

另一个相关的事情是策略的选择,能够进行整个咨询过程; 反过来,这将分为两部分,即: 算法的选择,负责执行操作; 并选择详细而具体的指标,因为这样可以避免问题和延误。

至于将要执行的计划,它包括两个阶段或阶段要考虑; 与优化密切相关。 第一阶段包括:生成与主表达式相关的逻辑表达式; “表达式”是指给出的具体动作,用于搜索或获取数据,因此,其他表达式必须与主要表达式相关。

第二阶段,在第一阶段的基础上,会有一定的成果; 在这个新阶段,这些结果必须被记录下来,这将是新的逻辑表达式; 这将作为以后能够生成评估计划的替代方案,因此非常重要。

上述将大大改善查询的响应时间。 但是,您可以考虑以下几点,以提高查询数据的效率和效果: 明确开始下一阶段的良好起点; 提供一定程度的自由度,这是足够的,以便可以对查询进行进一步的优化。

在我们将在下面留给您的下一个视频中,您将能够了解有关 查询优化 以图形方式,这将帮助您更好地理解与计算的这一方面相关的所有内容。 因为在书面上很难解释它。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:Actualidad Blog
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。