小编典典

SQL查询如何工作?

sql

SQL查询如何工作?如何编译?是否from首先编译该子句以查看表是否存在?它实际上如何从数据库中检索数据?表以何种格式存储在数据库中?

我正在使用phpmyadmin,有什么办法可以窥视存储数据的文件?我正在使用MySQL


阅读 164

收藏
2021-04-15

共1个答案

小编典典

出色地…

  • 首先,您需要进行语法检查,然后生成表达式树-在此阶段,您还可以测试元素是否存在和“对齐”(即表中是否存在字段)。这是第一步-此处的任何错误,只要您告诉提交者真实即可。
  • 然后,你有…分析。SQL查询与程序的不同之处在于,它不说明如何做某事,而只是说结果如何。基于集合的逻辑。因此,您将获得一个查询分析器(取决于产品的优劣-甲骨文长期以来cr不休,DB2甚至是测量磁盘速度的最敏感者)来决定如何最好地实现此结果。这是一个非常复杂的野兽-它可能尝试数十种或数百种方法来找到他认为最快的方法(基于成本,基本上是一些统计数据)。
  • 然后执行。

顺便说一下,查询分析器是您看到巨大差异的地方。不确定MySQL-SQL
Server(Microsoft)的亮点在于它没有最好的(但其中之一),但是它确实具有不错的可视工具来显示查询计划,将分析器的估计值与之比较实际需求(如果相差太多,表统计可能会关闭,因此分析仪认为大表会很小)。他们在视觉上很好地呈现了这一点。

DB2在一段时间内有一个出色的优化器,可以测量磁盘速度(将其纳入估算范围),我已经说过了。Oracle很长时间“从左到右”(没有进行实际分析),并采用了用户提供的查询提示(废话法)。我认为MySQL一开始也是非常原始的-
不确定现在在哪里。

数据库等中的表格式-
这确实是您不应该关心的事情。已对此进行了记录(显然,尤其是对于开源数据库而言),但是为什么要关心它?我从事SQL工作已经有将近15年了,从来没有这种需要。这包括在某些领域进行相当高端的工作。除非您尝试构建数据库文件修复工具…。否则就没有意义了。

2021-04-15