1. 程式人生 > >MySQL查詢機制

MySQL查詢機制

sele emp lec 方案 沒有 調用程序 測試 name 通過

在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查詢機制