千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 在SQL Server中【文件組】到底是什么意思?

在SQL Server中【文件組】到底是什么意思?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-13 16:40:34 1697186434

一、在SQL Server中【文件組】什么意思

在SQL Server中【文件組】是指數(shù)據(jù)文件的組合,其稱作文件組(File Group),數(shù)據(jù)庫不能直接設(shè)置存儲數(shù)據(jù)的數(shù)據(jù)文件,而是通過文件組來指定。文件是實際存儲數(shù)據(jù)的物理實體,文件組是邏輯對象,SQL Server通過文件組來管理文件。

一個數(shù)據(jù)庫有一個或多個文件組,主文件組(Primary File Group)是系統(tǒng)自動創(chuàng)建的,用戶可以根據(jù)需要添加文件組。每一個文件組管理一個或多個文件,其中主文件組中包含主數(shù)據(jù)文件(master data file),擴(kuò)展名是.mdf,這個文件是系統(tǒng)默認(rèn)生成的,并且在數(shù)據(jù)庫中是少數(shù)的;輔助文件的擴(kuò)展名是.ndf,是用戶根據(jù)需要添加的。主文件組中也可以包含輔助文件,除了主文件組之外,其他文件組只能包含輔助文件。

文件組是一個邏輯實體,實際上,數(shù)據(jù)存儲在文件中(.mdf和.ndf)中,每一個文件組中都包含文件,因此,在create table和create index命令中指定文件組,那么數(shù)據(jù)就會存儲到文件組包含的文件中。

在實際開發(fā)數(shù)據(jù)庫的過程中,通常情況下,用戶需要關(guān)注文件組,而不用關(guān)心文件的物理存儲,即使DBA改變文件的物理存儲,用戶也不會察覺到,也不會影響數(shù)據(jù)庫去執(zhí)行查詢。除了邏輯文件和物理文件的分離之外,SQL Server使用文件組還有一個優(yōu)勢,那就是分散IO負(fù)載,其實現(xiàn)的原理是:

對于單分區(qū)表,數(shù)據(jù)只能存到一個文件組中。如果把文件組內(nèi)的數(shù)據(jù)文件分布在不同的物理硬盤上,那么SQL Server能同時從不同的物理硬盤上讀寫數(shù)據(jù),把IO負(fù)載分散到不同的硬盤上。對于多分區(qū)表,每個分區(qū)使用一個文件組,把不同的數(shù)據(jù)子集存儲在不同的磁盤上,SQL Server在讀寫某一個分組的數(shù)據(jù)時,能夠調(diào)用不同的硬盤IO。

這兩種方式,其本質(zhì)上,都是使每個硬盤均攤系統(tǒng)負(fù)載,提高IO性能。

創(chuàng)建分區(qū)表時,不同的分區(qū)可以使用相同的文件組,也可以使用不同的文件組。因此,在設(shè)計文件組時,應(yīng)盡量把包含的文件包含在不同的硬盤上,以實現(xiàn)物理IO的最大分散化。

在創(chuàng)建文件時,服務(wù)器CPU核的數(shù)量,決定最大的并發(fā)IO度,應(yīng)該根據(jù)CPU 核的數(shù)量創(chuàng)建多個文件。通常情況下,文件的數(shù)量和CPU核的數(shù)量一致,是優(yōu)異化的設(shè)計。

還有,應(yīng)該根據(jù)硬盤的性能來創(chuàng)建文件組,日志文件存儲到性能較好的硬盤上,而查詢延遲要求高的數(shù)據(jù),也需要存儲到性能較好的硬盤上。

不是所有的數(shù)據(jù)都是同等重要的,應(yīng)該根據(jù)業(yè)務(wù)需求和查詢延遲,對數(shù)據(jù)分級,因此,在設(shè)計文件組時,應(yīng)該把級別高的數(shù)據(jù)分散,而把那些基本用不到的數(shù)據(jù)存儲到性能差的,用于存儲歸檔數(shù)據(jù)的硬盤上,以實現(xiàn)服務(wù)器性能的合理配置。

延伸閱讀:

二、字符集(Character set)是什么

是多個字符(英文字符,漢字字符,或者其他國家語言字符)的集合,字符集種類較多,每個字符集包含的字符個數(shù)不同。

特點:

①字符編碼方式是用一個或多個字節(jié)表示字符集中的一個字符

②每種字符集都有自己特有的編碼方式,因此同一個字符,在不同字符集的編碼方式下,會產(chǎn)生不同的二進(jìn)制

常見字符集:

ASCII字符集:基于羅馬字母表的一套字符集,它采用1個字節(jié)的低7位表示字符,高位始終為0。

LATIN1字符集:相對于ASCII字符集做了擴(kuò)展,仍然使用一個字節(jié)表示字符,但啟用了高位,擴(kuò)展了字符集的表示范圍。

GBK字符集:支持中文,字符有一字節(jié)編碼和兩字節(jié)編碼方式。

UTF8字符集:Unicode字符集的一種,是計算機(jī)科學(xué)領(lǐng)域里的一項業(yè)界標(biāo)準(zhǔn),支持了所有國家的文字字符,utf8采用1-4個字節(jié)表示字符。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Java怎么注解實體類實現(xiàn)數(shù)據(jù)庫類型與Java類型對應(yīng)映射?

一、Java注解實體類實現(xiàn)數(shù)據(jù)庫類型與Java類型對應(yīng)映射的方法1、選擇合適的持久化框架Java中有多個持久化框架可供選擇,如Hibernate、MyBatis等...詳情>>

2023-10-13 17:57:42
數(shù)據(jù)庫事務(wù)完成后結(jié)果返回給客戶端前連接斷開了會發(fā)生什么?

一、數(shù)據(jù)庫事務(wù)完成后結(jié)果返回給客戶端前連接斷開了會發(fā)生的情況1、事務(wù)提交失敗如果在事務(wù)提交完成之前連接斷開,數(shù)據(jù)庫可能無法將事務(wù)結(jié)果持...詳情>>

2023-10-13 17:52:47
mysql.sock文件是怎么起作用的?

一、mysql.sock文件的工作原理在MySQL中,mysql.sock文件是用于實現(xiàn)本地套接字(socket)連接的一種機(jī)制。它在Unix或類Unix系統(tǒng)上使用,允許客...詳情>>

2023-10-13 17:39:11
oracle為什么要繼續(xù)開發(fā)mysql?

一、oracle為什么要繼續(xù)開發(fā)mysql應(yīng)該是之前收購的時候有協(xié)議吧,而且,本身面向的客戶也不太一樣。oracle也有不付費(fèi)的用戶,mysql有社區(qū)版,但...詳情>>

2023-10-13 17:27:29
低代碼平臺的開發(fā),數(shù)據(jù)庫是怎么選擇的?

一、低代碼平臺的開發(fā),數(shù)據(jù)庫是怎么選擇的如果你選擇的低代碼開發(fā)平臺支持多種數(shù)據(jù)庫,那就選你最熟悉的吧。除了oracle這種賊貴的,和postgres...詳情>>

2023-10-13 17:25:32
快速通道
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
在线看黄a∨无毒网站免费 永久A电影三级在线观看 | 色婷婷一区二区三区免费 | 中文字幕大香视频蕉免费 | 天天国产精品污视频 | 在线的中文字幕Av | 日本大道香蕉中文在线 |