亚洲AV无码乱码在线观看不卡|最新大伊香蕉精品视频在线|亚洲不卡av一区二区|国产美女无遮挡免费

登錄論壇 | 注冊會員 設為首頁 | 收藏本站
當前位置 : 首頁>軟件學院>數(shù)據(jù)庫>SQL>正文
 
SQL Server2005查詢通知

http://www.yibo1263.com 2008/5/4 19:19:12  來源:yesky  編輯:阿拉格調
 
 

摘要 在本系列文章中,我們將深入探討如何把.NET 2.0和SQL Server 2005的查詢通知特征聯(lián)合起來,以便通知應用程序何時關鍵數(shù)據(jù)發(fā)生變化進而達到消除反復查詢數(shù)據(jù)庫的目的。

一. 引言

數(shù)據(jù)庫應用程序的典型問題之一是更新陳舊的數(shù)據(jù)。

設想有一個典型的顯示產品及其分類的電子商務網站。一個供應商的產品列表很可能并不經常發(fā)生變化,而其分類列表甚至更不會頻繁更改。然而,在用戶每次瀏覽該網站時,必須從數(shù)據(jù)庫中反復查詢這些列表。這顯然是一種典型的低效資源利用,開發(fā)者和架構師都在絞盡腦汁想辦法以減少這種浪費。

緩沖技術正是“最小化”對這種幾乎“停滯”的數(shù)據(jù)進行重復查詢的技術之一。這種數(shù)據(jù)可以被進行一次性查詢并存儲在一個緩沖區(qū)中,而且應用程序可以從緩存中重復地存取數(shù)據(jù)。偶爾情況下,才更新緩存以得到新數(shù)據(jù)。但是,圍繞更新緩存的時間調度方面出現(xiàn)了幾個問題。該多長時間操作一次呢?例如,你每隔多長時間希望你的產品分類改變一次?每隔幾個月一次?每隔兩個月刷新一次該緩沖區(qū)如何?你知道會發(fā)生什么嗎?就在你刷新緩存之后,分類被更新,而且在下一次刷新前在兩個月的時間里它將保持陳舊。

查詢通知,是微軟的ADO.NET和SQL Server小組協(xié)作開發(fā)的新成果。簡言之,查詢通知允許你緩沖數(shù)據(jù)并且僅在SQL Server中的數(shù)據(jù)發(fā)生變化時才發(fā)出通知。一旦接到通知,你就可以刷新你的緩沖區(qū)或者采取你需要的任何措施。

在SQL Server 2005中引入的一種新特征“Service Broker”使得查詢通知成為可能。Service Broker把隊列機制引入到數(shù)據(jù)庫管理中,它使用一組隊列與服務進行通訊,而服務反過來也知道如何往回通訊以調用相應的實體。其實,這些隊列和服務都是一些與表、視圖和存儲過程一樣的類對象。盡管完全可以在SQL Server內使用Service Broker,但是ADO.NET知道如何與Service Broker進行通訊以觸發(fā)這種機制并且從Service Broker中檢索回通知。

注意 當SQL Server中的數(shù)據(jù)發(fā)生改變時,查詢通知允許你緩沖數(shù)據(jù)并且通知你。

在.NET一端,存在很多種“鉤入”這種功能的方式。ADO.NET 2.0提供了System.Data.SqlClient.SqlDependency和System.Data.Sql.SqlNotificationRequest類。SqlDependency是SqlNotificationRequest的一種高級實現(xiàn),并且是當使用ADO.NET 2.0時你最有可能使用的類。ASP.NET 2.0也通過System.Web.Caching.SqlCache-Dependency類(它提供了一個針對SqlDependency的包裝器)與Service Broker進行通訊,而且這是直接通過在一個ASP.NET頁面中使用<%OutputCache>指令以聲明方式提供的功能實現(xiàn)的。這允許ASP.NET開發(fā)者容易地實現(xiàn)使依賴于SQL Server中的數(shù)據(jù)中的緩存無效。

二. .NET與Service Broker的通訊

上面這些技術是如何聯(lián)合到一起來解決“緩沖之謎”的呢?盡管你可以采取很多的措施以允許SQL Server把服務提供給.NET;但是,關鍵還在于,發(fā)送到SQL Server的查詢具有一個依附到它們的標志以便告訴SQL Server,除了返回結果集外,SQL Server還應該把該查詢(及其請求者)注冊到Service Broker。為此,你要創(chuàng)建一個感知該查詢的隊列和一個依附到該隊列的服務,并且知道如何返回到客戶端。如果該結果集中的任何一行在數(shù)據(jù)庫中得到更新,那么在相關隊列中的項將觸發(fā),并且反過來,把一條消息發(fā)送到它的服務,然后把一個通知發(fā)送回初始化該請求的應用程序。

圖1是SQL Server Management Studio的一個快照,它顯示了在數(shù)據(jù)庫的Service Broker部分中的隊列(Queues)和服務(Services)。

圖1.該圖顯示了.NET的查詢通知所使用的Pubs數(shù)據(jù)庫中的缺省隊列和服務。

下面是理解這一過程的一些有關重要內容:

· 存在一些規(guī)則以指出SQL Server接收哪些類型的查詢。

· 一旦SQL Server發(fā)送回通知,隊列和服務即被刪除。這意味著,你僅能在每次請求中得到一個通知。一個典型的應用程序會重新查詢數(shù)據(jù)庫并且,在同時,請求在Service Broker中創(chuàng)建一種新的依賴性。

本新聞共4頁,當前在第1頁  1  2  3  4  

收藏】【打印】【進入論壇
  相關文章:

·SQL Server2005數(shù)據(jù)加密技術應用研究

 
 
 
最新文章

搶先蘋果,消息稱英特爾芯片采用臺積電
三星揭曉業(yè)內首款單條 512GB DDR5 內存
vivo 高端新機爆料:120Hz 曲面屏 + 天
vivo Y21 在印度正式上市:Helio P35 芯
微星推出 GeForce RTX 3080 Sea Hawk X
消息稱三星 Galaxy Tab S8 系列平板將放
機械革命推出 F6 輕薄本:16 英寸全面屏
英特爾 12 代 Alder Lake CPU 600 系列
雷軍:向小米手機 1 首批用戶每人贈送價
小米李明談用戶被踢出 MIUI 測試版:大

推薦文章
1
2
3
4
5
6
7
8
9
10
叛逆嫩模性感寫真
宮如敏不雅照瘋傳 看張馨予韓一菲獸獸誰
不懼孔子搶位 阿凡達游戲影音配置推薦
2015第十七屆“東北安博會”火爆招商
第十六屆東北國際公共安全防范產品博覽
2016年第五屆中國國際商業(yè)信息化博覽會
2016年第五屆中國國際POS機及相關設備展
互聯(lián)網電視熟了嗎 2013最火電視深解析
桑達獲邀出席2015中國(廣州)國際POS機
寶獲利報名參加“2015年度中國POS機行業(yè)
八卦圖解 More>>
叛逆嫩模性感寫真 宮如敏不雅照瘋傳 看張馨予韓一菲
周偉童魔鬼身材日本性感寫真圖  聯(lián)想V360筆記本模特寫真
洪湖市| 西丰县| 桃江县| 玉树县| 南投县| 金乡县| 和平县| 兰州市| 凤阳县| 八宿县| 江西省| 阿巴嘎旗| 迭部县| 中牟县| 盐津县| 简阳市| 文成县| 宝山区| 乐都县| 固始县| 嘉黎县| 松溪县| 罗定市| 英超| 建宁县| 长汀县| 高州市| 嘉黎县| 大理市| 罗源县| 多伦县| 广汉市| 阳泉市| 巨鹿县| 温州市| 当雄县| 西吉县| 云林县| 什邡市| 庄河市| 奉新县|