伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁(yè) 軟件開發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 數(shù)據(jù)庫(kù)開發(fā) >> 文章正文

如何使用高效數(shù)據(jù)檢索優(yōu)化SQL Server應(yīng)用程序性能

SQL 語(yǔ)言的功能之一是能夠在服務(wù)器上篩選數(shù)據(jù),以便只給客戶端返回最少的所需數(shù)據(jù)。使用這些功能可使服務(wù)器與客戶端間的高耗費(fèi)的網(wǎng)絡(luò)流量減到最小。這意味著必須使 WHERE 子句的限制性足夠強(qiáng),從而使其只檢索應(yīng)用程序所需的數(shù)據(jù)。


若是在服務(wù)器上篩選數(shù)據(jù),則效率始終會(huì)高于將數(shù)據(jù)發(fā)送到客戶端、然后在應(yīng)用程序中篩選數(shù)據(jù)。這種情況也適用于從服務(wù)器請(qǐng)求的列。發(fā)出 SELECT * FROM... 語(yǔ)句的應(yīng)用程序要求服務(wù)器將所有列數(shù)據(jù)返回給客戶端,不論客戶端應(yīng)用程序是否已綁定這些列以在程序變量中使用。按名稱只選擇必要的列可避免不必要的網(wǎng)絡(luò)流量。這也使應(yīng)用程序在表定義更改時(shí)更可靠,因?yàn)樾绿砑拥牧胁环祷亟o客戶端應(yīng)用程序。


性能還取決于應(yīng)用程序如何從服務(wù)器請(qǐng)求結(jié)果集。在使用開放式數(shù)據(jù)庫(kù)連接 (ODBC) 的應(yīng)用程序中,在執(zhí)行查詢前設(shè)置的語(yǔ)句選項(xiàng)決定應(yīng)用程序如何從服務(wù)器請(qǐng)求結(jié)果集。當(dāng)保留語(yǔ)句選項(xiàng)的默認(rèn)值時(shí),Microsoft® SQL Server™ 2000 以最有效的方式發(fā)送結(jié)果集。


SQL Server 假定應(yīng)用程序立即從默認(rèn)結(jié)果集中提取所有的行。因此,該應(yīng)用程序必須緩沖那些不立即使用但以后可能需要的行。這種緩沖需求決定了(通過(guò)使用 Transact-SQL)僅指定所需的數(shù)據(jù)尤其重要。


請(qǐng)求默認(rèn)結(jié)果集并只按應(yīng)用程序邏輯或應(yīng)用程序用戶的需要提取行這一做法看起來(lái)很節(jié)省,但卻是假節(jié)省。未從默認(rèn)結(jié)果集中提取的行會(huì)阻礙與服務(wù)器的連接,并阻塞同一事務(wù)中的其它工作。另外,未從默認(rèn)結(jié)果集中提取的行會(huì)導(dǎo)致 SQL Server 在服務(wù)器上控制鎖,從而有可能防礙其他用戶更新。在小規(guī)模測(cè)試中可能不會(huì)出現(xiàn)這種并發(fā)問(wèn)題,但是以后部署應(yīng)用程序時(shí)則會(huì)出現(xiàn)該問(wèn)題。因此,應(yīng)立即從默認(rèn)結(jié)果集中提取所有的行。


有些應(yīng)用程序無(wú)法緩沖它們從服務(wù)器請(qǐng)求的所有數(shù)據(jù)。例如,如果應(yīng)用程序查詢大表并允許用戶指定選擇條件,則可能不返回任何行或返回上百萬(wàn)行。而用戶不大可能想查看上百萬(wàn)行。相反,用戶更有可能縮小選擇條件重新執(zhí)行查詢。在此情況下,提取和緩沖上百萬(wàn)行,而用戶最終丟棄這些行,無(wú)疑是浪費(fèi)時(shí)間和資源。


對(duì)于這些應(yīng)用程序,SQL Server 提供服務(wù)器游標(biāo)以允許應(yīng)用程序從任意大的結(jié)果集中提取小的行子集或行塊。如果用戶想看到同一結(jié)果集內(nèi)的其它記錄,服務(wù)器游標(biāo)允許應(yīng)用程序從結(jié)果集中提取任何其它行塊,包括結(jié)果集內(nèi)后面的 n 行、前面的 n 行或從某行開始的 n 行。SQL Server 只根據(jù)需要執(zhí)行每個(gè)塊提取請(qǐng)求,而且 SQL Server 通常不在服務(wù)器游標(biāo)上的塊提取之間控制鎖。


服務(wù)器游標(biāo)還允許應(yīng)用程序?qū)μ崛〉男袌?zhí)行定位更新或刪除,而無(wú)須確定行的源表和主鍵。如果行數(shù)據(jù)從提取到請(qǐng)求更新的這段期間內(nèi)更改,SQL Server 會(huì)檢測(cè)出這個(gè)問(wèn)題并防止丟失更新。


但是,服務(wù)器游標(biāo)的功能需要一定的代價(jià)。如果給定查詢的所有結(jié)果都要在應(yīng)用程序中使用,則服務(wù)器游標(biāo)總是比默認(rèn)結(jié)果集消費(fèi)高。默認(rèn)結(jié)果集始終只需要在客戶端和服務(wù)器間往返一次,而每次用服務(wù)器游標(biāo)調(diào)用提取行塊操作便導(dǎo)致一次往返。此外,服務(wù)器游標(biāo)消耗服務(wù)器上的資源,對(duì)某些類型的游標(biāo)可以使用的 SELECT 語(yǔ)句也有限制。例如,KEYSET 游標(biāo)被限制為只能使用帶唯一索引的表,而 KEYSET 和 STATIC 游標(biāo)大量使用服務(wù)器上的臨時(shí)存儲(chǔ)。由于這些原因,只有應(yīng)用程序需要服務(wù)器游標(biāo)功能時(shí)才使用這些服務(wù)器游標(biāo)。如果某個(gè)任務(wù)通過(guò)主鍵請(qǐng)求單個(gè)行,則使用默認(rèn)結(jié)果集。如果另外一個(gè)任務(wù)需要大得無(wú)法預(yù)料的結(jié)果集或可更新的結(jié)果集,則使用服務(wù)器游標(biāo)提取大小適中的塊(例如一次提取一屏行)。另外,只要可能就應(yīng)對(duì)自動(dòng)提取使用快速只進(jìn)游標(biāo)?梢允褂眠@些游標(biāo)只在客戶端和服務(wù)器之間往返一次而檢索出小結(jié)果集,這與使用默認(rèn)結(jié)果集相似。

作者:未知 | 文章來(lái)源:www.zgna.net | 更新時(shí)間:2007-10-18 9:32:51

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    網(wǎng)絡(luò)編程中怎樣得知一次數(shù)據(jù)已經(jīng)收完?
    在SQL Server中幾種導(dǎo)入/導(dǎo)出數(shù)據(jù)的方式
    在SQL Server中如何利用范圍連接來(lái)查找
    如何利用SQL Server進(jìn)行會(huì)話狀態(tài)session的保持
    管理SQL Server 常用的SQL和T-SQL語(yǔ)句整理
    窗口如何能動(dòng)態(tài)排序
    解析SQL Server identity列的操作方法
    復(fù)制SQL 數(shù)據(jù)庫(kù)時(shí)的問(wèn)題
    怎樣的情況下 可以更新數(shù)據(jù)
    如何擴(kuò)充SQLSERVER數(shù)據(jù)庫(kù)
    軟件技術(shù)
    · 開發(fā)語(yǔ)言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫(kù)開發(fā)
    最新文章  
    ·Domino平臺(tái)的優(yōu)缺點(diǎn)分析
    ·oracle不能連接本地庫(kù)的解
    ·使用經(jīng)驗(yàn)整理-TestDirecto
    ·學(xué)習(xí)sqlserver數(shù)據(jù)庫(kù)的維度
    ·sqlserver 多用戶并發(fā)中如
    ·丟失日志文件后數(shù)據(jù)庫(kù)還能
    ·人工智能在數(shù)據(jù)庫(kù)sql語(yǔ)句編
    ·數(shù)據(jù)庫(kù)學(xué)習(xí):Oracle應(yīng)用程
    ·基礎(chǔ)知識(shí):軟件測(cè)試的要點(diǎn)
    ·技術(shù)文章:sqlserver 2008
    ·SQL Server虛擬內(nèi)存和物理
    ·在MySQL中 describe命令怎
    ·怎樣解決視圖刷新時(shí)出現(xiàn)的
    ·如果忘記了MySQL的root用戶
    ·基礎(chǔ)學(xué)習(xí):基于SQL的sysob
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.zgna.net All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    闵行区| 东丽区| 石柱| 鹿邑县| 西吉县| 深州市| 凌海市| 通辽市| 陇西县| 清涧县| 南漳县| 时尚| 商南县| 长乐市| 南开区| 吴桥县| 缙云县| 永福县| 炉霍县| 赤峰市| 五原县| 灵丘县| 静乐县| 庆城县| 恩施市| 随州市| 松江区| 丁青县| 腾冲县| 边坝县| 青浦区| 瓮安县| 咸宁市| 永寿县| 云梦县| 龙江县| 湛江市| 墨玉县| 夏津县| 泸西县| 巨野县|