5

MySQL操作是否是多線程的?MySQL中的多線程?

特別是,在運行select時,select(或join)算法是否會產生多個線程一起運行?多線程會阻止能夠支持很多併發用戶嗎?

+0

你的意思是「會單線程防止...」嗎? – 2010-10-08 18:29:07

回答

4

幾個後臺線程在MySQL服務器上運行。而且,每個數據庫連接都由單個線程提供服務。並行查詢(使用多個線程選擇)不在MySQL中實現。

MySQL可以支持「很多併發用戶」。例如,Facebook成功使用MySQL。

+0

這是否意味着在給定數據庫中,連接必須在另一個連接開始查詢或更改數據之前結束? – mikl 2017-08-23 22:08:44

1

除了每個連接都有一個線程外,還有幾個管理進程擁有它自己的線程。這是DBMS中常見的一種安排。例如。 Oracle RDMS具有系統監視器,數據庫寫入器等。
這項運動是緩存閱讀和懶惰寫作。