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

正文內(nèi)容

數(shù)據(jù)庫(kù)的性能優(yōu)化項(xiàng)目解決方案-資料下載頁

2025-05-10 06:26本頁面
  

【正文】 。 對(duì)于一些超大型的表,分區(qū)是非常有用的。分區(qū)是一種邏輯概念,一個(gè)表就是一個(gè)整體,當(dāng)發(fā)生數(shù)據(jù)訪問的時(shí)候,也是對(duì)整個(gè)表或整個(gè)表的索引進(jìn)行訪問,所謂分區(qū),通俗點(diǎn)講,就是把表按一定的規(guī)律劃分成更小的邏輯單位,當(dāng)發(fā)生訪問的時(shí)候,不以表為單位進(jìn)行訪問,而先在表的基礎(chǔ)上,判斷數(shù)據(jù)在哪個(gè)分區(qū),有一個(gè)非常大的表,存儲(chǔ)了一些銷售記錄,現(xiàn)在查詢總是按銷售季度來執(zhí)行這個(gè)查詢每個(gè)銷售季度包含幾十萬個(gè)記錄,通常你只是要查詢這個(gè)數(shù)據(jù)集的一個(gè)相當(dāng)小的數(shù)據(jù),系統(tǒng)需要執(zhí)行全表掃描,但是結(jié)果卻必須掃描幾百萬個(gè)記錄,. 分區(qū)是比較復(fù)雜的,以分區(qū)的對(duì)象來分類的話,則分為兩種,表分區(qū)和索引分區(qū)。J表分區(qū)主要指的是范圍分區(qū),(貌似比較單一,oracle里有散列分區(qū)等等,不過在sqlserver里我目前還沒有看到).就這么說可能不清不楚,下面將以我們已經(jīng)建立好的ipanel數(shù)據(jù)庫(kù)為例,對(duì)person表進(jìn)行按日期分區(qū),假設(shè)ipanel每個(gè)月都要進(jìn)出幾十萬人,然后HR每月還要作很多的統(tǒng)計(jì)吧。下面一步一步來,mon創(chuàng)建文件組各種數(shù)據(jù)最終是存儲(chǔ)在數(shù)據(jù)文件里,在實(shí)際應(yīng)用中,表的分區(qū)都會(huì)分布在多個(gè)數(shù)據(jù)文件中,這樣以便獲得更好的 I/O 平衡,對(duì)于文件,是以文件組為單位進(jìn)行管理,文件組相當(dāng)于目錄,數(shù)據(jù)文件就相當(dāng)于目錄里的文件。為數(shù)據(jù)庫(kù)添加文件組,這個(gè)文件組分布存儲(chǔ)person表的數(shù)據(jù):ALTER DATABASE ipanel ADD FILEGROUP [person_fg]現(xiàn)在為ipanel數(shù)據(jù)庫(kù)創(chuàng)建了一個(gè)名為person_fg的文件組。下面為該文件組添加數(shù)據(jù)文件。添加數(shù)據(jù)文件ALTER DATABASE ipanelADD FILE(NAME = N39。person00139。,FILENAME = N39。C:\ipanel\39。,SIZE = 5MB,MAXSIZE = 100MB,FILEGROWTH = 5MB)TO FILEGROUP [person_fg]如上,為文件組添加了一個(gè)數(shù)據(jù)文件創(chuàng)建分區(qū)函數(shù)既然分區(qū),那么就應(yīng)該有一個(gè)分區(qū)的標(biāo)準(zhǔn),就是說數(shù)據(jù)將以什么標(biāo)準(zhǔn)來分區(qū),分區(qū)函數(shù)就是做這件事情的,它定義數(shù)據(jù)劃分的標(biāo)準(zhǔn),對(duì)表進(jìn)行邏輯上的劃分。CREATE PARTITION FUNCTION personRangePFN(datetime)ASRANGE LEFT FOR VALUES (39。2003093039。,39。2005093039。,39。2007093039。,39。2009093039。)上面的分區(qū)函數(shù)創(chuàng)建了5個(gè)分區(qū),并且定義了分區(qū)列的數(shù)據(jù)類型為datetime,因?yàn)榉謪^(qū)的標(biāo)準(zhǔn)要建在表的某一列上,在此定義,分區(qū)列必須是日期時(shí)間型。RANGE LEFT表示范圍分區(qū),LEFT所在的選項(xiàng)有兩個(gè):LEFT,。如當(dāng)前選項(xiàng)是LEFT,則表示:分區(qū)1:=20030930分區(qū)2:20030930,=20050930分區(qū)3:20050930,=20070930分區(qū)4:20070930,=20090930分區(qū)5:20030930如果當(dāng)前選項(xiàng)是RIGHT,則表示:分區(qū)1:20030930分區(qū)2:=20030930,20050930分區(qū)3:=20050930,20070930分區(qū)4:=20070930,20090930分區(qū)5:=20030930創(chuàng)建分區(qū)架構(gòu)創(chuàng)建分區(qū)函數(shù)后,必須將其與分區(qū)架構(gòu)相關(guān)聯(lián),以便將分區(qū)定向至特定的文件組。定義分區(qū)架構(gòu)時(shí),即使多個(gè)分區(qū)位于同一個(gè)文件組中,也必須為每個(gè)分區(qū)指定一個(gè)文件組。對(duì)于前面創(chuàng)建的范圍分區(qū) (personRangePFN),存在五個(gè)分區(qū);最后一個(gè)空分區(qū)將在 PRIMARY 文件組中創(chuàng)建。因?yàn)榇朔謪^(qū)永遠(yuǎn)不包含數(shù)據(jù),所以不需要指定特殊的位置CREATE PARTITION SCHEME PersonEmdateSchemeASPARTITION personRangePFNTO ([person001], [person002], [person003], [person004], [PRIMARY])創(chuàng)建分區(qū)表 定義分區(qū)函數(shù)(邏輯結(jié)構(gòu))和分區(qū)架構(gòu)(物理結(jié)構(gòu))后,即可創(chuàng)建表來利用它們。表定義應(yīng)使用的架構(gòu),而架構(gòu)又定義函數(shù)。要將這三者結(jié)合起來,必須指定應(yīng)該應(yīng)用分區(qū)函數(shù)的列。范圍分區(qū)始終只映射到表中的一列,此列應(yīng)與分區(qū)函數(shù)中定義的邊界條件的數(shù)據(jù)類型相匹配。另外,如果表應(yīng)明確限制數(shù)據(jù)集(而不是從負(fù)無窮大到正無窮大),則還應(yīng)添加 CHECK 約束。CREATE TABLE [dbo].[person] ([id] [bigint] NOT NULL , 記錄的id[name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,姓名[age] [int] NULL ,年齡[addr] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,地址[sex] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,性別[dept] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,部門[pos] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,郵編[tel] [char] (15) COLLATE Chinese_PRC_CI_AS NULL ,電話[fax] [char] (15) COLLATE Chinese_PRC_CI_AS NULL ,傳真[emdate] [datetime] NULL 入職日期)On PersonEmdateScheme (emdate)如果要限制的emdate的值的范圍,則必須給它加上約束,如只允許emdate的值從2002年9月1日到2010年9月1日,則將[emdate] [datetime] NULL 改為[emdate] [datetime] NULLCONSTRAINT personRangeYearCHECK ([emdate] = 39。2002090139。AND [emdate] = 39。20100901 11:59:39。)分區(qū)總結(jié) 到此,對(duì)于分區(qū)表person已經(jīng)設(shè)置完畢,person的數(shù)據(jù)會(huì)根據(jù)emdate的值分布到幾個(gè)不同的數(shù)據(jù)文件里,在查詢的時(shí)候,系統(tǒng)會(huì)首先判斷emdate的值,看它在哪個(gè)分區(qū),然后只進(jìn)入該分區(qū)查找數(shù)據(jù),這對(duì)于超大規(guī)模的系統(tǒng)來說,是很有用的,如果一個(gè)表有幾千萬上億的數(shù)據(jù),即使是索引掃描也是一個(gè)很費(fèi)時(shí)的過程,不要忘記,索引也就像相當(dāng)于簡(jiǎn)化了的表。對(duì)于索引,sqlserver里有索引分區(qū),如果索引分區(qū)和表分區(qū)對(duì)齊的話,就是說和表一樣使用了相同的分區(qū)函數(shù)和相同的分區(qū)架構(gòu),那么對(duì)于索引的查找,就不是對(duì)整個(gè)索引的查找了,而是先判斷在哪個(gè)索引分區(qū),然后再取查找該索引值,然后找到數(shù)據(jù),這樣就會(huì)節(jié)省很多時(shí)間。分區(qū)還有一個(gè)好處就是,對(duì)于一些數(shù)據(jù)可以更好的進(jìn)行管理,比如說,定義了2006年度的銷售數(shù)據(jù)存儲(chǔ)在對(duì)應(yīng)的分區(qū)area6,,到2007年的時(shí)候,一般情況下,可能不用06年的數(shù)據(jù),按照分區(qū)的理論,它也不會(huì)訪問06年的數(shù)據(jù)所在的區(qū)域。分區(qū)的應(yīng)用是比較復(fù)雜的,上面只是介紹了其中一部分,其他還有索引分區(qū),分區(qū)合并,分區(qū)移出等比較多的的東西。在oracle里,分區(qū)的概念是比較多的,包括對(duì)索引的分區(qū)都會(huì)有很多介紹,如散列分區(qū),混合分區(qū),局部索引,全局索引,原理上是差不多的。在此談分區(qū)只是一個(gè)拋磚引玉的過程,如果對(duì)sqlserver分區(qū)想更深入了解的話,可以看看msdn,有中文的,不過翻譯得很爛。6:后記 我以前看到過很多項(xiàng)目,數(shù)據(jù)庫(kù)系統(tǒng)只是被純粹的當(dāng)作了一個(gè)存儲(chǔ)數(shù)據(jù)的地方,建完表能增刪改查就萬事大吉了,有的連索引都沒有,對(duì)于數(shù)據(jù)庫(kù)的建立也很不嚴(yán)謹(jǐn),更談不上管理,雖然很多人認(rèn)為數(shù)據(jù)庫(kù)的管理是DBA的事情,但是我想作為一個(gè)技術(shù)人員,加深對(duì)數(shù)據(jù)庫(kù)的了解是絕對(duì)沒有壞處的,開發(fā)大型的系統(tǒng),數(shù)據(jù)庫(kù)肯定是非常重要的。如果想深入學(xué)習(xí)一門數(shù)據(jù)庫(kù)的話,我建議大家從oracle開始學(xué),因?yàn)閟qlserver作了很多封裝,而oracle更為復(fù)雜,是的,雖然它概念很多,比較復(fù)雜,但是卻有助你了解更多的數(shù)據(jù)庫(kù)細(xì)節(jié),在很多方面,大部分的數(shù)據(jù)庫(kù)系統(tǒng)都是相同的,oracle學(xué)好再來學(xué)其他的數(shù)據(jù)庫(kù),上手就非常容易,如果你會(huì)寫PL/SQL程序,那有什么理由不會(huì)寫TRANACTSQL的數(shù)據(jù)庫(kù)程序呢,語法只是一些細(xì)微的差別,而很多的概念卻是相同的。歡迎您的光臨,!希望您提出您寶貴的意見,你的意見是我進(jìn)步的動(dòng)力。贈(zèng)語; 如果我們做與不做都會(huì)有人笑,如果做不好與做得好還會(huì)有人笑,那么我們索性就做得更好,來給人笑吧! 現(xiàn)在你不玩命的學(xué),以后命玩你。我不知道年少輕狂,我只知道勝者為王。不要做金錢、權(quán)利的奴隸;應(yīng)學(xué)會(huì)做“金錢、權(quán)利”的主人。什么時(shí)候離光明最近?那就是你覺得黑暗太黑的時(shí)候。最值得欣賞的風(fēng)景,是自己奮斗的足跡。壓力不是有人比你努力,而是那些比你牛幾倍的人依然比你努力。 參考
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1