如果我向mysql服務器發出:select * from tuser where name='Bob'
。 MySQL服務器會做些什麼,檢索一條記錄,然後立即將它發送給客戶端,或者在獲取大量數據後將其發送到一起,然後繼續執行其他結果?MySQL服務器如何檢索數據並將數據發送給客戶端?
回答
執行過程結果返回客戶端程序。隨着行在執行樹上「冒泡」,頂級操作員通常負責將這些行寫入網絡緩衝區並將其發送回客戶端。結果不是先創建到某些中間存儲器(內存或磁盤)中,然後發送回客戶端,而是在創建時發送(隨着查詢的執行)。當然,將結果發送回客戶端需要遵循網絡流量控制協議。如果客戶端沒有主動地使用結果(例如通過調用SqlDataReader.Read()),那麼最終流量控制將不得不阻止發送端(正在執行的查詢),這又會暫停執行查詢。只要網絡流量控制釋放所需的網絡資源,查詢就會恢復併產生更多結果(繼續執行迭代計劃)。
因此,查詢的結果發送到客戶端「作爲查詢執行」。
Here您可以閱讀關於SQL服務器如何執行查詢的更多信息。
你知道你在這裏選擇了sql server而不是mysql嗎?這兩個數據庫引擎是否在檢索數據並將數據發送回客戶端時運行相同?如果有請請網站來源?否則這個答案如何正確? – BK435
SQL(結構化查詢語言)不是數據庫引擎。這是訪問和操作數據庫的標準語言。 MySQL是這個標準的具體實現。你可以在這裏閱讀更多:http://stackoverflow.com/questions/14840808/what-is-the-difference-between-sql-and-mysql –
我的以前的評論仍然是站得住腳。 SQL SERVER與Microsoft SQL服務器一樣,是一種與MySQL不同的數據庫引擎...您正在談論SQL,因爲它涉及到MySQL和T-SQL在上述評論中的語法差異......我正在談論數據庫引擎本身的作品...有些區別可以在這裏看到http://www.noelherrick.com/blog/mysql-vs-sql-server – BK435
在網絡協議層次上,一旦服務器找到/構建記錄,行就會一次發送到客戶端 - 除查詢緩存(用於後續相同的查詢)外,沒有服務器端緩存,網絡I/O緩衝區(由net_buffer_length配置參數控制,默認爲16K)。在客戶端,您可能會看到一些緩衝,具體取決於您使用的客戶端和設置。本地C libmysqlclient有兩個調用 - mysql_use_result()和mysql_store_result()。第一個是緩衝區,第二個是緩衝區。大多數高級語言都有客戶端API,它們圍繞libmysqlclient進行打包,並且可以使用緩衝區或無緩衝區的方法。
- 1. 如何將數據從PHP服務器發送到客戶端
- 2. 開發數據庫服務器:如何將結果發送給客戶端?
- 3. 從vb服務器發送數據給客戶端
- 4. 如何從服務器檢索數據到客戶端視圖
- 5. 如何從服務器向特定客戶端發送數據?
- 6. 如何從客戶端向服務器發送數據流?
- 7. 套接字服務器 - 將數據發送到客戶端
- 8. Java將數據從服務器發送回客戶端
- 9. 定期將數據從服務器發送到客戶端
- 10. 將數據從php服務器發送到vb.net客戶端
- 11. 使用python客戶端將數據發送到java服務器
- 12. 扭曲 - 將數據從服務器發送到客戶端
- 13. 服務器如何將數據推送到客戶端?
- 14. 服務器應如何將數據推送到富客戶端
- 15. 如何將數據推送到客戶端服務器
- 16. 客戶端向tcp服務器發送數據,tcp服務器向另一臺服務器發送數據
- 17. 立即從客戶端向服務器端發送gridview數據
- 18. 客戶端發送JSON並在服務器中檢索它
- 19. 如何從客戶端的數據傳送到服務器端
- 20. 如何將客戶端機器映像發送到服務器數據庫?
- 21. node.js發送數據給客戶端?
- 22. 將數據PHP(客戶端)傳遞給C#(服務器端)
- 23. 節點,js Websocket服務器。如何識別客戶端並從mysql數據庫發送特定數據?
- 24. 從Web服務器獲取數據並將它們發送到客戶端C++
- 25. 如何將數據發送給所有客戶端?
- 26. 如何從java客戶端向c#web服務發送數據
- 27. 客戶端數據到服務器端
- 28. Android ServerSocket不向客戶端發送數據(客戶端c#,服務器java)
- 29. C#客戶端。從C#客戶端發送數據到Java服務器
- 30. 如何將數據從Java客戶端發送到C++服務器?
這不是嚴格的這個網站的主題。 請閱讀[我可以問哪些主題](http://stackoverflow.com/help/on-topic) – RiggsFolly