freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

db2靜態(tài)sql和動態(tài)sql的比較與實踐-展示頁

2024-08-31 23:18本頁面
  

【正文】 FROM test_tbl WHERE seq=:t_seq。 EXEC SQL END DECLARE SECTION。 sqlint32 t_seq = 0。清單 1是一個查詢表的例子,使用 C 語言 : 清單 1. 嵌入式靜態(tài) SQL 的 C 語言片斷 // EXEC SQL INCLUDE SQLCA。DB2 的嵌入式 SQL 應(yīng)用程序支持以下幾種語言:C,C++,COBOL,F(xiàn)ORTRAN 和 REXX?。 表 2. DB2 的編程接口一覽編程接口靜態(tài) / 動態(tài)是否為嵌入式嵌入式 SQL靜態(tài)和動態(tài)是DB2 CLI動態(tài)否SQLJ靜態(tài)是JDBC動態(tài)否,OLE DB動態(tài)否Perl DBI動態(tài)否PDO(PHP 數(shù)據(jù)對象 )動態(tài)否在下面的幾個章節(jié)中,我們將陸續(xù)從使用角度上描述靜態(tài)和動態(tài) SQL 在各種編程接口中的應(yīng)用,并運用一些實例來介紹在具體的場景中如何選擇。 非嵌入式應(yīng)用程序不需要預(yù)編譯,且方法較多,如 CLI、JDBC、ODBC、 等等,這些方法中都使用動態(tài) SQL。嵌入式 SQL 都需要被綁定到特定的數(shù)據(jù)庫中,可分為嵌入式靜態(tài) SQL 和嵌入式動態(tài) SQL。 嵌入式 SQL 編程將 SQL 語句嵌入到宿主語言 (host) 的程序中,例如 C/C++ 程序。 表 1. 靜態(tài) SQL 和動態(tài) SQL 的比較靜態(tài) SQL動態(tài) SQLSQL 語句直接嵌入到宿主編程語言,程序需要預(yù)編譯處理這些嵌入的 SQL 語句SQL 語句一般作為宿主語言的變量出現(xiàn)。動態(tài) SQL 的應(yīng)用較多,常見的 CLI 和 JDBC 應(yīng)用程序都使用動態(tài) SQL。 靜態(tài) SQL 語句的編譯是在應(yīng)用程序運行前進行的,編譯的結(jié)果會存儲在數(shù)據(jù)庫內(nèi)部。SQL 語句從編譯和運行的角度可以分為兩種,靜態(tài) SQL和 動態(tài) SQL,這兩種 SQL 在使用方式、運行機制和性能表現(xiàn)等方面各有特點 : 通過這些標準的 SQL 語句,使得各種數(shù)據(jù)庫能以一種較為統(tǒng)一的方式被訪問。DB2 靜態(tài) SQL 和動態(tài) SQL 的比較與實踐(轉(zhuǎn))SQL 語言作為標準的查詢語言,幾乎被所有的數(shù)據(jù)庫管理系統(tǒng) (DBMS) 所支持,并成為國際標準。標準的 SQL 語言一般包括三類,即 DDL (Data Definition Language, 數(shù)據(jù)描述語言 ) 、DML (Data Manipulation Language, 數(shù)據(jù)操縱語言 ) 和 DCL(Data Control Language,數(shù)據(jù)控制語言 )。 DB2(本文以下專指 DB2 UDB for Linux, Unix 和 Windows 版本)允許用戶通過多種編程接口發(fā)送 SQL 語句到數(shù)據(jù)庫引擎,然后由引擎統(tǒng)一編譯并且運行。 靜態(tài) SQL:靜態(tài) SQL 語句一般用于嵌入式 SQL 應(yīng)用中,在程序運行前,SQL 語句必須是確定的,例如 SQL 語句中涉及的列名和表名必須是存在的。而后程序運行時,數(shù)據(jù)庫將直接執(zhí)行編譯好的 SQL 語句,降低運行時的開銷。 動態(tài) SQL:動態(tài) SQL 語句是在應(yīng)用程序運行時被編譯和執(zhí)行的,例如,使用 DB2 的交互式工具 CLP 訪問數(shù)據(jù)庫時,用戶輸入的 SQL 語句是不確定的,因此 SQL 語句只能被動態(tài)地編譯。 表 1列舉了靜態(tài) SQL 和動態(tài) SQL 的比較結(jié)果。嵌入式動態(tài) SQL 應(yīng)用需要預(yù)編譯,非嵌入式 SQL 應(yīng)用則無需預(yù)編譯SQL 語句在程序被編譯時已知,涉及的數(shù)據(jù)庫對象已存在SQL 語句在程序被編譯時未知,涉及的數(shù)據(jù)庫對象可以是運行時才創(chuàng)建的SQL 語句在程序運行前被編譯SQL 語句在程序運行時被編譯SQL 語句的編譯結(jié)果在 DB2 的目錄 (catalog) 中持久化保存SQL 語句的編譯結(jié)果緩存在數(shù)據(jù)庫的內(nèi)存里運行時僅讀取目錄 (catalog)運行時編譯 SQL 語句需對目錄 (catalog) 加鎖SQL 語句的優(yōu)化是根據(jù)編譯時的數(shù)據(jù)庫統(tǒng)計信息進行的,不能完全反映運行時的情況SQL 語句的優(yōu)化是根運行時的數(shù)據(jù)庫統(tǒng)計信息進行的對 SQL 語句所訪問的數(shù)據(jù)對象的權(quán)限檢查是在綁定時進行的對 SQL 語句所訪問的數(shù)據(jù)對象的權(quán)限檢查是在運行時進行的權(quán)限控制的粒度是包(package,一組 SQL 語句的編譯結(jié)果),用戶僅需要訪問包的權(quán)限權(quán)限控制的粒度是 SQL 語句,用戶需要具有訪問 SQL 語句中每個數(shù)據(jù)對象的權(quán)限如果 SQL 語句中的對象被修改,如 DDL 執(zhí)行,整個包都需要重新綁定當 SQL 語句中的對象被修改時,僅執(zhí)行過的語句在下次運行時需要重新編譯根據(jù)編程方法的不同,DB2 的應(yīng)用程序開還可以分為嵌入式 SQL 編程和非嵌入式編程 : 因為宿主語言不識別 SQL 語句,先要對程序進行預(yù)編譯,把 SQL 語句轉(zhuǎn)變?yōu)閷?DB2 服務(wù)的調(diào)用,并重寫源代碼,最后再使用宿主語言的編譯器對應(yīng)用程序進行編譯。 表 2列舉了常見的 DB2 編程接口。 靜態(tài)
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1