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

正文內(nèi)容

db2靜態(tài)sql和動態(tài)sql的比較與實(shí)踐-資料下載頁

2025-08-16 23:18本頁面
  

【正文】 。 其他應(yīng)用程序開發(fā)接口Perl 程序員可以使用 Perl 數(shù)據(jù)庫接口 DBI 來訪問 DB2。IBM 提供的 DBI 驅(qū)動為 IBM174。DB2174。Database Driver for Perl DBI (the DBD::DB2 driver)。Perl DBI 同樣使用動態(tài) SQL,而且 Perl DBI 的接口與 CLI 和 JDBC 很相似,易于使用。 PHP 在 Web 應(yīng)用開發(fā)領(lǐng)域一直占據(jù)很大份額,IBM 提供了下面兩種 PHP 擴(kuò)展以訪問 DB2 數(shù)據(jù)庫: ibm_db2,是一種過程化的應(yīng)用編程接口,與 PHP 應(yīng)用一起編譯,提供一系列的 PHP 函數(shù)來訪問數(shù)據(jù)庫。 pdo_ibm,是 IBM 提供的 PHP Data Objects (PDO) 驅(qū)動。 此外,IBM 對 Python,Ruby on Rails 等編程語言都提供了相應(yīng)的 DB2 訪問支持。這些開發(fā)接口同樣都使用動態(tài) SQL。 應(yīng)用場景以及如何選擇本節(jié)將結(jié)合幾個(gè)應(yīng)用場景來介紹如何選擇 DB2 編程接口以及靜態(tài) / 動態(tài) SQL。 場景 1銀行中賬目統(tǒng)計(jì)系統(tǒng)比較穩(wěn)定,一般運(yùn)行在一個(gè)特定的數(shù)據(jù)庫中,其目的是整合業(yè)務(wù)數(shù)據(jù)庫上數(shù)據(jù),并通過分析數(shù)據(jù)得到一些相關(guān)的統(tǒng)計(jì)信息。這樣的系統(tǒng)具有以下一些特點(diǎn) : 穩(wěn)定,系統(tǒng)邏輯不會有什么變化,訪問固定的數(shù)據(jù)庫以及表。 定時(shí)運(yùn)行,賬目統(tǒng)計(jì)信息通常需要在一段時(shí)間內(nèi)進(jìn)行整合。 數(shù)據(jù)量比較大,對性能要求較高。 針對這些特點(diǎn),建議使用主要由靜態(tài) SQL 語句組成的應(yīng)用程序,這樣該系統(tǒng)在建立的時(shí)候會被編譯,然后相關(guān)的編譯信息會被存儲到數(shù)據(jù)庫里,在以后的運(yùn)行過程中避免重復(fù)編譯,同時(shí),這種應(yīng)用由于結(jié)構(gòu) 簡單使得其很容易維護(hù)。當(dāng)然,由于系統(tǒng)的數(shù)據(jù)變化較快,而且數(shù)據(jù)量很大,所以建議定時(shí)重新編譯程序,使得數(shù)據(jù)庫對每條 SQL 語句可以選擇最優(yōu)的運(yùn)行方式。 場景 2考慮電信運(yùn)營商對用戶話單的計(jì)費(fèi)場景,圖 3顯 示了一個(gè)電信運(yùn)行系統(tǒng)結(jié)構(gòu)圖。業(yè)務(wù)系統(tǒng)產(chǎn)生的各種話單會集中存放在一個(gè)關(guān)系型數(shù)據(jù)庫中,該數(shù)據(jù)庫可能位于大規(guī)模的高可靠性服務(wù)器。而計(jì)費(fèi)程序則往往作為一 個(gè)單獨(dú)的應(yīng)用部署在其他規(guī)模較小的 UNIX 服務(wù)器上,并作為守護(hù)程序或者批處理程序運(yùn)行。另外,很多業(yè)務(wù)規(guī)則例如計(jì)費(fèi)標(biāo)準(zhǔn)可能存放在單獨(dú)得小型數(shù)據(jù)庫系統(tǒng)中。 圖 3. 電信運(yùn)營系統(tǒng)結(jié)構(gòu)示意圖計(jì)費(fèi)程序的工作主要包括:從話單數(shù)據(jù)庫讀新話單,從業(yè)務(wù)配置數(shù)據(jù)庫讀取計(jì)費(fèi)標(biāo)準(zhǔn),計(jì)算話單的費(fèi)用和優(yōu)惠,將計(jì)費(fèi)完畢的話單寫回話單數(shù)據(jù)庫。 由于計(jì)費(fèi)標(biāo)準(zhǔn)的選擇經(jīng)常和日期等變化的信息相關(guān),程序中會存在一些不固定的 SQL 語句,因此靜態(tài) SQL 應(yīng)用并不適用。另外,除了訪問結(jié)構(gòu)穩(wěn)定的話單數(shù)據(jù)庫,計(jì)費(fèi)程序也需要訪問一些變化概率較大的小型數(shù)據(jù)庫,例如計(jì)費(fèi)標(biāo)準(zhǔn)可能會因?yàn)檫\(yùn)營商營銷策略的調(diào)整而發(fā) 生變化。如果使用嵌入式 SQL,就必須將應(yīng)用程序和數(shù)據(jù)庫進(jìn)行綁定,這將失去靈活性。最后,為了快速對大量的話單進(jìn)行計(jì)費(fèi),計(jì)費(fèi)程序?qū)π阅芤灿休^高要求,所以 CLI 應(yīng)用程序比 JDBC 應(yīng)用更適合計(jì)費(fèi)程序。 場景 3在基于 BS 結(jié)構(gòu)的電子商務(wù)應(yīng)用中,瀏覽器、應(yīng)用服務(wù)器(包括 Web 服務(wù)器)和數(shù)據(jù)庫構(gòu)成了系統(tǒng)的三個(gè)要素。數(shù)據(jù)庫為電子商務(wù)提供了事務(wù)管理、數(shù)據(jù)持久化、安全認(rèn)證、聯(lián)機(jī)備份等各方面的支持,是電子商務(wù)系統(tǒng)中的關(guān)鍵部分。圖 4顯示了一個(gè)簡單的電子商務(wù)系統(tǒng)結(jié)構(gòu)示意圖。 圖 4. 簡單的電子商務(wù)系統(tǒng)結(jié)構(gòu)示意圖在電子商務(wù)系統(tǒng)的實(shí)現(xiàn)中,數(shù)據(jù)庫訪問接口的選擇很大程度上依賴于所選擇的應(yīng)用集成方案。例如傳統(tǒng)的 J2EE 應(yīng)用中使用 JDBC 實(shí)現(xiàn)數(shù)據(jù)庫訪問。又如開源框架 STRUTS,SPRING 和 HIBERNATE,由 HIBERNATE 完成對 JDBC 的封裝,提供對數(shù)據(jù)庫的訪問能力?;?PHP 開發(fā)的 Web 應(yīng)用程序同樣非常流行,如果選擇 PHP 作為開發(fā)語言,那么使用 PDO(PHP Data Objects)和 IBM 提供的 pdo_ibm 驅(qū)動即可訪問 DB2 數(shù)據(jù)庫。對基于 .Net 框架開發(fā)的 Web 應(yīng)用而言, 則是最合適的數(shù)據(jù)庫訪問接口。 靜態(tài) SQL 和動態(tài) SQL 的選擇原則在以下情況下,適合選用靜態(tài) SQL: 程序需要處理 SQL 語句頻率高,壓力較大 SQL 語句較為簡單且已知不變 SQL 語句訪問的數(shù)據(jù)庫對象變化很少 程序使用的 SQL 語句可以統(tǒng)一認(rèn)證權(quán)限 同一條 SQL 語句重復(fù)執(zhí)行的次數(shù)很少 很少運(yùn)行 RUNSTATS 更新統(tǒng)計(jì)信息 在以下情況下,更適合選用動態(tài) SQL: SQL 語句在應(yīng)用程序執(zhí)行時(shí)才生成 SQL 語句訪問的對象在程序運(yùn)行前不存在 希望 SQL 語句根據(jù)運(yùn)行時(shí)的數(shù)據(jù)庫統(tǒng)計(jì)信息進(jìn)行最好的優(yōu)化 在程序運(yùn)行中可能更改 SQL 語句的編譯環(huán)境,如配置參數(shù)和特殊寄存器的值 程序運(yùn)行時(shí),同時(shí)有較多 DDL 語句執(zhí)行 選用特定的應(yīng)用程序框架,例如場景 3 中的電子商務(wù)案例 當(dāng)然,所有的原則都是經(jīng)驗(yàn)性的,真正的選擇還取決于應(yīng)用的實(shí)際情況。在時(shí)間允許的情況下,對各種選擇進(jìn)行比較測試也是可以考慮的方法。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1