2017-03-09 128 views
-2

如果同時運行的兩個單獨查詢同時碰到一個表,那麼單個查詢的運行時間是否會增加?兩個查詢命中同一個表

感謝

+4

即使使用不同表的兩個查詢可能會增加時間(有點)。 – jarlh

回答

-1

使用這樣的:

UPDATE table1 WITH(NOLOCK) SET Column1='asc' WHERE .... 
+0

Oracle的這種明顯錯誤 –

0

這是一個非常複雜的問題,它巨大視情況而定。

但是,簡單的答案是「RDBMS引擎的設計目標是明確支持許多併發查詢,而且它們真的很擅長。有些情況下由於併發訪問而遇到性能問題,但它們是在企業級硬件上不常見「。

更復雜的答案是:

一般情況下,「讀」的查詢可以爲你的系統有足夠的資源同時不noticable性能的影響,長期來看(RAM和CPU,與I/O帶寬一起),和只要這些查詢速度很快(通常意味着小於1秒)。

如果您的查詢本身速度較慢,同時運行多個查詢可能會導致速度放慢 - 慢速查詢往往會消耗更多資源(RAM,CPU,I/O),並且爭用這些資源可能會導致經濟放緩。

如果您有「寫入」查詢,具體取決於您的事務策略,您可能會遇到其中一個查詢鎖定另一個查詢嘗試讀取或寫入的表的情況。