2010-07-15 60 views
0

我知道,從我讀過的任何內容來看,準備好的語句速度更快,因爲預編譯的緩存版本用於循環查詢。我的疑問是:確切的時間保存在哪裏?我明白,只有準備查詢所花費的時間才能被保存。即使準備好的語句也必須執行數據庫搜索,因此沒有時間保存在那裏。我錯了嗎?準備SQL查詢時間vs普通查詢時間

+1

哪些準備語句 - Java,C#?另外,哪個數據庫? – 2010-07-15 20:43:38

+0

@Eric Petroelje:準備語句的概念在C#和java中有所不同嗎? – understack 2010-07-15 20:57:34

+0

它們在Java和C#之間幾乎相同,但一些數據庫和驅動程序比其他數據庫和驅動程序更好地處理準備好的語句。 – 2010-07-16 13:09:30

回答

2

這是正確的。通過使用預準備語句節省的時間通常在數據庫引擎規劃/編譯查詢中。

2

準備的「準備查詢」部分是執行計劃。該計劃告訴數據庫如何執行查詢;按哪個順序使用哪些索引。執行計劃也解決了任何訪問權限。

通過構建一次執行計劃而不是每個查詢來節省時間。