Sql預編譯

一、什麼是sql的編譯?

當數據庫接收到sql時,需要詞法和語義的解析,優化sql,制定執行計劃。每次編譯都比較耗時間。

二、如何減少編譯?

在實際開發中,對數據庫的基本操作就是curd,每次執行sql都有經過編譯過程,那麼就需要消耗大量的時間,因此就有了預編譯的過程,預編譯可以想象成將sql變成一個函數,在需要的時候傳參進行即可使用。這樣就能達到一次編譯,多次運行的效果。

三、預編譯的實現方法

通過prepareStatement和佔位符完成。

四、緩存預編譯

sql進行編譯後需要緩存起來纔可以循環使用,因此預編譯需要消耗一部分內存,這也是一個用空間換取時間的例子。在計算機領域中,要麼就是時間換空間,要麼就是空間換時間。

總之,預編譯就是將sql變成一個函數,函數的變量用佔位符表示,後面注入的參數系統就會默認它僅僅是一個參數,而不會認爲是一個sql語句,不會再次編譯,這樣就可以防止sql注入。

五、如何實現預編譯

。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章