MySQL查詢機制
阿新 • • 發佈:2018-04-11
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查詢機制