靜態或嵌入式 SQL是應用程式中的SQL語句,它們在執行時間不會更改,因此可以硬編碼到應用程式中。動態 SQL是在執行時期建構的SQL語句。例如,應用程式可以允許使用者輸入自己的查詢。
動態 SQL是一種程式設計技術,可讓您在執行時間動態建立SQL語句。您可以使用動態SQL建立更多通用,靈活的應用程序,因為編譯時可能不知道SQL語句的全文。
推薦參考學習:《mysql教程》
下面提到的是Static 或 Embedded以及Dynamic 或 Interactive SQL 之間的基本區別 :
靜態(內嵌)SQL | 動態(互動式)SQL |
在Static SQL中,嵌入式SQL語句中預先決定如何存取資料庫。 | 在Dynamic SQL中,將在執行時決定如何存取資料庫。 |
它更迅速、更有效。 | 它比較不迅捷和有效。 |
SQL語句在編譯時編譯。 | SQL語句在執行時編譯。 |
解析,驗證,最佳化和應用計畫的生成在編譯時完成。 | 解析,驗證,優化和應用程式計劃的生成在運行時完成。 |
它通常用於資料均勻分佈的情況。 | 它通常用於資料分佈不均勻的情況。 |
不使用EXECUTE IMMEDIATE,EXECUTE和PREPARE語句。 | 使用EXECUTE IMMEDIATE,EXECUTE和PREPARE語句。 |
它靈活性較差。 | 它比較靈活。 |
動態SQL的限制:
我們無法動態地使用某些SQL語句。
與Static SQL相比,這些語句的效能很差。
靜態SQL的限制:
它們在執行時間不會更改,因此會被硬編碼到應用程式中。
這篇文章就是關於靜態和動態sql之間的區別介紹,希望對需要的朋友有幫助!
以上是靜態和動態sql之間的差異是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!