MySQL查询机制

Posted <・)))><<

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL查询机制相关的知识,希望对你有一定的参考价值。

mysql中,每当查询被发送到服务端时,服务器在执行语句之前将会进行下面的检查:

  • 用户是否有权限执行该语句?
  • 用户是否有权限访问目标数据?
  • 语句的语法是否正确

如果查询通过了这三个测试,就会被传递给 查询优化器 ,它负责为查询找到最有效率的执行方式。

优化器通常会做诸如确定 from 子句后面各表的连接顺序,或是可以使用哪些索引之类的工作,然后选择一个执行方案,以供服务器执行该查询。

当服务器执行完查询后,将会向调用程序(这里是MySQL工具)返回一个结果集。

如果查询结果并没有找到任何结果,那么mysql工具将会在其后显示一条提示消息,例如:

mysql> SELECT emp_id, fname, lname
    -> FROM employee
    -> WHERE lname = ‘zifeiy‘;
Empty set (0.00 sec)

如果查询返回了1行或多行记录,那么mysql工具将会使用列名和 -、| 、 + 等符号组成的边框将结果鸽石斛啊输出,例如:

mysql> SELECT * FROM department;
+---------+--------+
| dept_id | name   |
+---------+--------+
|       1 | dept 1 |
|       2 | dept 2 |
|       3 | dept 3 |
+---------+--------+
3 rows in set (0.00 sec)

在显示最后一行结果之后,mysql工具会显示一条消息,以提示一共返回了多少行。

以上是关于MySQL查询机制的主要内容,如果未能解决你的问题,请参考以下文章

《MySQL面试小抄》查询缓存机制终面

MySQL查询机制

你知道的Go切片扩容机制可能是错的

MyBatis查询mysql数据返回null

部分代码片段

你如何在 python 中处理 graphql 查询和片段?