在本文中,您将了解所需的一切 查询优化 在数据库管理系统中; 显着改善这些技术系统的响应时间。
查询优化,什么是DBMS?
在我们开始讨论一些提示和建议之前,以改进 查询优化 您的网站或应用程序。 对当今存在的 DBMS 有所了解是很重要的。
SGBD,其首字母缩写词代表数据库管理系统; 它们是一组程序,允许用户在各种意义上操作某些信息,并保存在数据库中; 例如提取、存储和/或修改这些。
除此之外,它们有助于为该数据库提供所有必要的安全性,以管理和控制用户的进出流程; 甚至保护这些信息,以防信息被破坏和消失,被恢复。 重要的是,它们也是 查询优化.
换句话说,一个应用程序、计算机或网站要正常运行,数据库系统的存在是必要的,否则,它根本没有用。
我们可以命名当今存在的 DBMS 的最显着示例之一; 有: 微软SQL Server; CouchDB的 (这个是专门针对文档部分的); MongoDB的 (方向与前一个相同); 以及其中最著名和最常用的, MySQL的,关系型,开源,由 WordPress 等平台使用。
如果您想了解更多关于数据库的信息,特别是关于 MySQL的; 我们推荐以下文章,您将在其中了解有关当今如此广泛使用的该软件的更多信息: MYSQL 中的数据类型。
什么是查询优化?
基本上,它是显着和优化地提高 DBMS 的响应时间; 以这样的方式,他们可以在创纪录的时间内向用户提供所需的信息。 它发生在某些情况下,某些应用程序或其他应用程序往往非常复杂,以至于在咨询时,获得响应的时间很长; 在很多情况下,这个答案通常不是最“最优”的,即可能的最好。
有一些基于成本的优化器,而这些优化器又基于某些计划; 它们将是那些通过分析能够给出优化查询的最佳路径的结果; 当然,采取那些成本最低的计划。
重要的一点是用户不能直接访问优化器; 他们首先必须经过一个分析过程,在这一步之后,用户就已经可以访问优化了
他们如何工作?
大部分 查询优化, 是通过节点树实现的,以图形方式表示它们。 该树中存在的每个节点代表一个计划,而封装在这些节点中的那些计划只不过是简单的操作。
可能每个节点都有其他子节点,有计划; 但以同样的方式,他们将运行与其父节点相同的计划。 在这个“节点树”的叶子的情况下,它们代表所有存在的节点执行的所述操作的结果。
作为重要数据,在数据库管理系统中; 节点是 JOIN,它允许从数据库中的表(这些可以是多个或只有一个)中组合记录。 其实这个词 加入从英文翻译过来,意思是“团结”。
说了上一段所写的内容后, 查询优化 他们有什么更大的影响力? 就是按照数据表的操作顺序,也就是按照JOIN的顺序。 进一步的优化可以由小表的操作而不是大表的操作来决定; 如果反过来,这个过程可能需要比预期更长的时间。
许多优化器使用某种算法,由 System R 数据库项目; 遵循一系列分析和搜索阶段; 最终,他们会产生最好的结果。 如果这些结果遵循相同的顺序,则必须认为它们比其他结果更好; 因为这可以进一步缩短响应时间。
什么是元组?
元组是数据库中最重要的元组之一。 因为包含所述数据信息的对象(在数学定义的情况下)。 转到计算机领域,它与之前的定义没有太大区别,只是在这种情况下,它对应于特定表的一行; 因此,后者是包含保存数据的那些。
就像在数学领域一样,这些对象中存储的数据是无序的,因为不仅仅是一个列表,它们是一组数据; 并且没有重复和任何类型的元组复制,因为从数学上讲,这是不可能的。
优化流程
La 查询优化, 遵循一系列步骤或过程。 在这种情况下,我们将简单地命名它们,在下一节中,我们将介绍一些提示以提高性能。
第一步是 查询的内部表示,必须具有一系列特征(在下一节中提到)和系统,才能表示逻辑表达式。 第二步, 转换为规范形式, 这里会找到一个等价的表达式(派生自原文),它会成为查询的规范形式并提高查询的性能。
第三道工序, 选择低级程序, 在这里,您将找到查询的几个点(例如替代索引和路径)。 最后, 查询计划的生成和选择
查询优化的一些技巧
在本节中,我们将命名四个主要优化过程,但最重要的是; 一些需要考虑的方面,以提高响应时间,这是这篇文章的重点。 需要考虑的非常重要的一点是要有一个计划(我们之前已经命名过),因为这样,过程将大大加快。
另一个相关的事情是策略的选择,能够进行整个咨询过程; 反过来,这将分为两部分,即: 算法的选择,负责执行操作; 并选择详细而具体的指标,因为这样可以避免问题和延误。
至于将要执行的计划,它包括两个阶段或阶段要考虑; 与优化密切相关。 第一阶段包括:生成与主表达式相关的逻辑表达式; “表达式”是指给出的具体动作,用于搜索或获取数据,因此,其他表达式必须与主要表达式相关。
第二阶段,在第一阶段的基础上,会有一定的成果; 在这个新阶段,这些结果必须被记录下来,这将是新的逻辑表达式; 这将作为以后能够生成评估计划的替代方案,因此非常重要。
上述将大大改善查询的响应时间。 但是,您可以考虑以下几点,以提高查询数据的效率和效果: 明确开始下一阶段的良好起点; 提供一定程度的自由度,这是足够的,以便可以对查询进行进一步的优化。
在我们将在下面留给您的下一个视频中,您将能够了解有关 查询优化 以图形方式,这将帮助您更好地理解与计算的这一方面相关的所有内容。 因为在书面上很难解释它。