今天看了下Trinitycore源代碼的數據庫IO部分,發現一個新的概念記錄一下:即席查詢
這個僅當是筆記
以前一直不知道什麼叫即席查詢,今天重新看了一遍《SQLSERVER企業級管理平臺》,才明白什麼叫“即席查詢”
下面這句話是我個人總結的:
什麼叫即席查詢
AD-HOC :以單獨的SQL語句的形式執行的查詢就是即席查詢,比如說:在C#程序裏嵌入的SQL語句,或者在SSMS裏的新建查詢窗口自己鍵入的SQL代碼就是即席查詢。
而將SQL代碼放入存儲過程裏面,以存儲過程或者函數或者觸發器來執行的查詢就不是即席查詢,即席:當場,就是當場去查詢,當然,這個當場不是當場寫代碼的意思啦
-------------------------------------------華麗的分割線---------------------------------------------------------
那麼,即席查詢是不是沒有執行計劃的緩存的呢?
在《SQLSERVER企業級管理平臺》裏是這樣說的
adhoc:即席查詢
Adhoc語句
一組包含select,insert,update,delete的批處理指令。對這樣的指令,只有前後完全一致
包括字母的大小寫,空格,回車換行都一致,SQL才認爲是兩條一樣的語句,才能夠重用執行計劃。所以這個要求還是挺高的