码迷,mamicode.com
首页 > 数据库 > 详细

MySQL查询机制

时间:2018-04-11 19:55:38      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:工作   mysq   输出   mysql查询   优化器   rtm   执行   查询   记录   

在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查询机制

标签:工作   mysq   输出   mysql查询   优化器   rtm   执行   查询   记录   

原文地址:https://www.cnblogs.com/zifeiy/p/8797913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!