亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SQL Server 索引結(jié)構(gòu)及其使用(一)--深入淺出理解索引結(jié)構(gòu)第2/4頁

 更新時(shí)間:2009年04月09日 00:35:22   作者:  
深入淺出理解索引結(jié)構(gòu)

三、結(jié)合實(shí)際,談索引使用的誤區(qū)
  理論的目的是應(yīng)用。雖然我們剛才列出了何時(shí)應(yīng)使用聚集索引或非聚集索引,但在實(shí)踐中以上規(guī)則卻很容易被忽視或不能根據(jù)實(shí)際情況進(jìn)行綜合分析。下面我們將根據(jù)在實(shí)踐中遇到的實(shí)際問題來談一下索引使用的誤區(qū),以便于大家掌握索引建立的方法。

1、主鍵就是聚集索引
  這種想法筆者認(rèn)為是極端錯(cuò)誤的,是對(duì)聚集索引的一種浪費(fèi)。雖然SQL SERVER默認(rèn)是在主鍵上建立聚集索引的。

  通常,我們會(huì)在每個(gè)表中都建立一個(gè)ID列,以區(qū)分每條數(shù)據(jù),并且這個(gè)ID列是自動(dòng)增大的,步長一般為1。我們的這個(gè)辦公自動(dòng)化的實(shí)例中的列Gid就是如此。此時(shí),如果我們將這個(gè)列設(shè)為主鍵,SQL SERVER會(huì)將此列默認(rèn)為聚集索引。這樣做有好處,就是可以讓您的數(shù)據(jù)在數(shù)據(jù)庫中按照ID進(jìn)行物理排序,但筆者認(rèn)為這樣做意義不大。

  顯而易見,聚集索引的優(yōu)勢(shì)是很明顯的,而每個(gè)表中只能有一個(gè)聚集索引的規(guī)則,這使得聚集索引變得更加珍貴。

  從我們前面談到的聚集索引的定義我們可以看出,使用聚集索引的最大好處就是能夠根據(jù)查詢要求,迅速縮小查詢范圍,避免全表掃描。在實(shí)際應(yīng)用中,因?yàn)镮D號(hào)是自動(dòng)生成的,我們并不知道每條記錄的ID號(hào),所以我們很難在實(shí)踐中用ID號(hào)來進(jìn)行查詢。這就使讓ID號(hào)這個(gè)主鍵作為聚集索引成為一種資源浪費(fèi)。其次,讓每個(gè)ID號(hào)都不同的字段作為聚集索引也不符合“大數(shù)目的不同值情況下不應(yīng)建立聚合索引”規(guī)則;當(dāng)然,這種情況只是針對(duì)用戶經(jīng)常修改記錄內(nèi)容,特別是索引項(xiàng)的時(shí)候會(huì)負(fù)作用,但對(duì)于查詢速度并沒有影響。

  在辦公自動(dòng)化系統(tǒng)中,無論是系統(tǒng)首頁顯示的需要用戶簽收的文件、會(huì)議還是用戶進(jìn)行文件查詢等任何情況下進(jìn)行數(shù)據(jù)查詢都離不開字段的是“日期”還有用戶本身的“用戶名”。

  通常,辦公自動(dòng)化的首頁會(huì)顯示每個(gè)用戶尚未簽收的文件或會(huì)議。雖然我們的where語句可以僅僅限制當(dāng)前用戶尚未簽收的情況,但如果您的系統(tǒng)已建立了很長時(shí)間,并且數(shù)據(jù)量很大,那么,每次每個(gè)用戶打開首頁的時(shí)候都進(jìn)行一次全表掃描,這樣做意義是不大的,絕大多數(shù)的用戶1個(gè)月前的文件都已經(jīng)瀏覽過了,這樣做只能徒增數(shù)據(jù)庫的開銷而已。事實(shí)上,我們完全可以讓用戶打開系統(tǒng)首頁時(shí),數(shù)據(jù)庫僅僅查詢這個(gè)用戶近3個(gè)月來未閱覽的文件,通過“日期”這個(gè)字段來限制表掃描,提高查詢速度。如果您的辦公自動(dòng)化系統(tǒng)已經(jīng)建立的2年,那么您的首頁顯示速度理論上將是原來速度8倍,甚至更快。

相關(guān)文章

  • SQL server中字符串逗號(hào)分隔函數(shù)分享

    SQL server中字符串逗號(hào)分隔函數(shù)分享

    繼SQl -Function創(chuàng)建函數(shù)數(shù)據(jù)庫輸出的結(jié)果用逗號(hào)隔開,在開發(fā)中也有許多以參數(shù)的形式傳入帶逗號(hào)字條串參數(shù),需要的朋友可以參考下
    2016-10-10
  • SQL Server 公用表表達(dá)式(CTE)實(shí)現(xiàn)遞歸的方法

    SQL Server 公用表表達(dá)式(CTE)實(shí)現(xiàn)遞歸的方法

    這篇文章主要介紹了SQL Server 公用表表達(dá)式(CTE)實(shí)現(xiàn)遞歸的方法,需要的朋友可以參考下
    2017-05-05
  • NetBeans連接SQL server數(shù)據(jù)庫教程

    NetBeans連接SQL server數(shù)據(jù)庫教程

    這篇文章主要介紹了NetBeans連接SQL server數(shù)據(jù)庫教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • SQL查詢語句求出用戶的連續(xù)登陸天數(shù)

    SQL查詢語句求出用戶的連續(xù)登陸天數(shù)

    這篇文章主要是SQl語句的練習(xí),本文教大家如何用SQL查詢語句求出用戶的連續(xù)登陸天數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • SQL數(shù)據(jù)查詢之DQL語言介紹

    SQL數(shù)據(jù)查詢之DQL語言介紹

    首先對(duì)于數(shù)據(jù)庫有一定的了解,會(huì)對(duì)于數(shù)據(jù)庫的學(xué)習(xí)有一定的幫助;?數(shù)據(jù)庫主要分為 DB(數(shù)據(jù)庫),DBMS(數(shù)據(jù)庫管理系統(tǒng)),SQL(結(jié)構(gòu)化查詢語言,用于和DBMS通信的語言);這篇要講的DQL(數(shù)據(jù)查詢語句)是屬于SQL語言中的一種語言,因此是必學(xué)的語言,希望可以有一定的幫助
    2022-08-08
  • SQL Server 2000的安全配置

    SQL Server 2000的安全配置

    SQL Server 2000的安全配置...
    2006-10-10
  • sqlserver主鍵自增的實(shí)現(xiàn)示例

    sqlserver主鍵自增的實(shí)現(xiàn)示例

    這篇文章主要介紹了sqlserver主鍵自增的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Sql語句與存儲(chǔ)過程查詢數(shù)據(jù)的性能測(cè)試實(shí)現(xiàn)代碼

    Sql語句與存儲(chǔ)過程查詢數(shù)據(jù)的性能測(cè)試實(shí)現(xiàn)代碼

    Sql語句 存儲(chǔ)過程查 性能測(cè)試對(duì)比代碼。
    2009-04-04
  • SQL Server之JSON 函數(shù)詳解

    SQL Server之JSON 函數(shù)詳解

    本篇文件將結(jié)合MSND簡要分析Sqlserver中JSON函數(shù),主要包括ISJSON,JSON_VALUE,JSON_MODIFY,JSON_QUERY,需要的朋友可以參考下
    2019-11-11
  • SQL Server 數(shù)據(jù)庫索引其索引的小技巧

    SQL Server 數(shù)據(jù)庫索引其索引的小技巧

    關(guān)于索引的常識(shí):影響到數(shù)據(jù)庫性能的最大因素就是索引。由于該問題的復(fù)雜性,我只可能簡單的談?wù)勥@個(gè)問題,不過關(guān)于這方面的問題,目前有好幾本不錯(cuò)的書籍可供你參閱。我在這里只討論兩種SQL Server索引,即clustered索引和nonclustered索引
    2012-06-06

最新評(píng)論