關(guān)于避免在 PL/SQL 中使用嵌套游標(biāo)查詢_Mssql數(shù)據(jù)庫教程
推薦:解讀用最簡(jiǎn)單的步驟備份SQL數(shù)據(jù)庫的文件到本地用最簡(jiǎn)單的步驟備份sql數(shù)據(jù)庫的文件到本地: 以下為引用的內(nèi)容: response.Charset = utf-8 Session.Codepage = 65001
考慮下面的 PL/SQL 代碼,這段代碼生成一個(gè) XML 格式的矩陣樣式的報(bào)表:
| 以下為引用的內(nèi)容:
declare |
假如在這個(gè)例子中 parts 和 countries 有很多行數(shù)據(jù),那么性能就會(huì)趨于下降。這是因?yàn)�,�?PL/SQL 中,每次碰到一個(gè)游標(biāo) FOR 循環(huán),在重新查詢并獲得數(shù)據(jù)時(shí),都會(huì)有一個(gè)切換到 SQL 的上下文切換。
以一些服務(wù)器端內(nèi)存為代價(jià),提高這種構(gòu)造的速度是有可能做到的——假如動(dòng)態(tài)構(gòu)建 PL/SQL 數(shù)據(jù)表和矩陣單元格條目就可以提高速度。例如:
| 以下為引用的內(nèi)容:
declare |
游標(biāo)
游標(biāo)的 FOR 循環(huán)現(xiàn)在是獨(dú)立運(yùn)行的,并且特定記錄、特定字段、特定單元格的數(shù)據(jù)被拷貝到三個(gè) PL/SQL 表中。
然后利用記錄和字段具有特定順序這一事實(shí),將結(jié)果構(gòu)建到一個(gè) PL/SQL 表的矩陣中。由于 GROUP BY 的隱式 SORT/MERGE 操作,單元格具有同樣的順序。單元格查詢已經(jīng)被減少到一個(gè)查詢,替代了原來的矩陣每個(gè)單元格使用一個(gè)查詢。
假如字段的數(shù)目相當(dāng)小,那么我們可以使用 BULK COLLECT 構(gòu)建表。BULK COLLECT 不答應(yīng)表記錄的填充,所以我們就需要為用于這個(gè)操作的每一列數(shù)據(jù)創(chuàng)建一個(gè)獨(dú)立的表。前面的例子可以采用 BULK COLLECT 重寫為另外一種形式。
| 以下為引用的內(nèi)容:
declare |
分享:如何在SAN上創(chuàng)建SQL Server群集Storage area networks(SANs)使大量存儲(chǔ)量連接到服務(wù)器變得毫不費(fèi)力。SANs對(duì)于SQL Server安裝特別有用。企業(yè)數(shù)據(jù)庫不僅僅只需要做大量的存儲(chǔ),它們還有一些不斷增長(zhǎng)存儲(chǔ)的需要。也
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 解讀SQL Server與Oracle數(shù)據(jù)庫在安全性上的異同
- 詳解轉(zhuǎn)換 SQL數(shù)據(jù)庫時(shí)的疑難問題
- 3個(gè)步驟結(jié)束網(wǎng)站惡夢(mèng)-SQL注入隱患!
- SQL SERVER 2008 中三種分頁方法與比較
- SQL SERVER 2008數(shù)據(jù)庫引擎詳細(xì)介紹
- 解讀VB實(shí)現(xiàn)SQL Server 2000存儲(chǔ)過程調(diào)用
- 怎樣從客戶端提升SQL Server數(shù)據(jù)庫性能
- SQL Server2008中刪除重復(fù)記錄的方法分享
- SQL Server不能啟動(dòng)的常見故障[1][1]
- Sql學(xué)習(xí)第三天——SQL 關(guān)于CTE(公用表達(dá)式)的遞歸查詢使用
猜你也喜歡看這些
- mysql與mysqli的區(qū)別與用法
- MySQL數(shù)據(jù)庫備份和還原的常用命令
- Mysql DNS反向解析導(dǎo)致連接超時(shí)過程分析(skip-name-resolve)
- 深入SQLite基本操作的總結(jié)詳解
- MySQL SELECT同時(shí)UPDATE同一張表問題發(fā)生及解決
- 服務(wù)器不支持 MySql 數(shù)據(jù)庫的解決方法
- MySQL查詢優(yōu)化:用子查詢代替非主鍵連接查詢實(shí)例介紹
- MySQL筆記之?dāng)?shù)據(jù)備份與還原的使用詳解
- sql語句:SQLServer字段排序(按筆畫,拼音,拼音首字母)
- mysql常用監(jiān)控腳本命令整理
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-關(guān)于避免在 PL/SQL 中使用嵌套游標(biāo)查詢
。