真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

sqlserver區(qū),sqlserver區(qū)間分組

如何導(dǎo)入sqlserver行政區(qū)劃

一、到國(guó)家統(tǒng)計(jì)局網(wǎng)站,找到縣及縣以上行政區(qū)劃頁(yè)面。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括大石橋網(wǎng)站建設(shè)、大石橋網(wǎng)站制作、大石橋網(wǎng)頁(yè)制作以及大石橋網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大石橋網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到大石橋省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

我找到的是這個(gè):

然后將頁(yè)面上的代碼直接復(fù)制粘貼到記事本,保存為 e:\temp\region.txt。

二、硬著頭皮用SQL SERVER Management Studio導(dǎo)進(jìn)去。

導(dǎo)入的時(shí)候注意一點(diǎn),就是要在目標(biāo)表里設(shè)置一個(gè)標(biāo)識(shí)列。

三、生成區(qū)域表

在這里導(dǎo)進(jìn)去的目標(biāo)表,只是一個(gè)臨時(shí)用的中間表:region_tmp,我真正要的,是表region。

中間表region_tmp的結(jié)構(gòu):

region_tmp

======================

id int identity(1,1)

cn varchar(50)

導(dǎo)進(jìn)去以后,數(shù)據(jù)如下:

而我想要的區(qū)域表region

region

=========================

id int identity(1,1)

code char(6)

name nvarchar(50)

parentId int

所以現(xiàn)在需要將數(shù)據(jù)再?gòu)膔egion_tmp == region。

在導(dǎo)入的時(shí)候,之所以要設(shè)置一個(gè)標(biāo)識(shí)列,就是用來(lái)區(qū)分郵政編碼和地名。在region_tmp,奇數(shù)行都是編碼,偶數(shù)行則是地名,因此可以通過(guò)以下語(yǔ)句將編碼和地名都寫(xiě)進(jìn)region的同一行:

INSERT INTO [dbo].[Region]

([code]

,[name]

,[parentId])

SELECT a.cn,b.cn,0

FROM region_tmp a,region_tmp b

WHERE b.id=a.id+1

and (a.id % 2) = 1

四、修改區(qū)域表

現(xiàn)在要修改字段region.parentId。就是每個(gè)地名記錄要有一個(gè)父ID,在使用的時(shí)候好排序。比如廣州的父ID是廣東省,天河區(qū)的父ID是廣州。

--設(shè)置市級(jí)地名的父ID

UPDATE [dbo].[region]

SET parentid=b.id

FROM [region],[region] b

WHERE LEFT([region].code,2)=LEFT(b.code,2)

AND RIGHT([region].code,4)'0000' AND RIGHT([region].code,2)='00'

AND RIGHT(b.code,4)='0000';

--設(shè)置縣級(jí)地名的父ID

UPDATE [dbo].[region]

SET parentid=b.id

FROM [region],[region] b

WHERE LEFT([region].code,4)=LEFT(b.code,4)

AND RIGHT([region].code,2)!='00'

AND RIGHT(b.code,2)='00';

SqlServer是如何管理,分配存儲(chǔ)空間的呢

Sql Server 區(qū)管理(GAM,SGAM)

大家都知道Sql Server 中數(shù)據(jù)文件存儲(chǔ)的最小單位是頁(yè)面(Page),但實(shí)際SQLSERVE并不是以頁(yè)面為單位給數(shù)據(jù)分配空間的,Sql Server默認(rèn)的存儲(chǔ)分配單位是盤(pán)區(qū)(Extend)。這樣做的主要原因是為了避免頻繁的讀寫(xiě)IO,提升性能。在表或其它對(duì)象分配存儲(chǔ)空間,不是直接分配一個(gè)8K的頁(yè)面,而是以一個(gè)盤(pán)區(qū)(Extend)為存儲(chǔ)分配單位,一個(gè)盤(pán)區(qū)為8個(gè)頁(yè)面(Size = 8*8K=64K)。

這樣,對(duì)區(qū)得操作就會(huì)非常頻繁,也要求Sql Server有自己的一套系統(tǒng)管理著數(shù)量眾多的區(qū)。其中最突出的出一個(gè)問(wèn)題,那就是在存儲(chǔ)那些只有少量數(shù)據(jù),不足8K的對(duì)象,如果也是分配給一個(gè)盤(pán)區(qū),就會(huì)存在存儲(chǔ)空間上的浪費(fèi),降低了空間分配效率。

為解決上述問(wèn)題,SQLSERVER提供了一種解決方案,定義了兩種盤(pán)區(qū)類型,統(tǒng)一盤(pán)區(qū)和混合盤(pán)區(qū)。

全局分配映射表 (GAM)?:統(tǒng)一盤(pán)區(qū),GAM 頁(yè)記錄已分配的區(qū)。每個(gè) GAM 包含 64,000 個(gè)區(qū),相當(dāng)于近 4 GB 的數(shù)據(jù)。GAM 用一個(gè)位來(lái)表示所涵蓋區(qū)間內(nèi)的每個(gè)區(qū)的狀態(tài)。如果位為 1,則區(qū)可用;如果位為 0,則區(qū)已分配。?

共享全局分配映射表 (SGAM)?:由多個(gè)對(duì)象共同擁有該盤(pán)區(qū),SGAM 頁(yè)記錄當(dāng)前用作混合區(qū)且至少有一個(gè)未使用的頁(yè)的區(qū)。每個(gè) SGAM 包含 64,000 個(gè)區(qū),相當(dāng)于近 4 GB 的數(shù)據(jù)。SGAM 用一個(gè)位來(lái)表示所涵蓋區(qū)間內(nèi)的每個(gè)區(qū)的狀態(tài)。如果位為 1,則區(qū)正用作混合區(qū)且有可用頁(yè)。如果位為 0,則區(qū)未用作混合區(qū),或者雖然用作混合區(qū)但其所有頁(yè)均在使用中。?

在實(shí)際為對(duì)象分配存儲(chǔ)盤(pán)區(qū)時(shí),為了提高空間利用率,默認(rèn)的情況下,如果一個(gè)對(duì)象一開(kāi)始大小小于8個(gè)頁(yè)面,就盡量放在混合盤(pán)區(qū)中,如果該對(duì)象大小增加到8個(gè)頁(yè)面后,SQLSERVER會(huì)為這個(gè)對(duì)象重新分配一個(gè)統(tǒng)一盤(pán)區(qū)。

據(jù)區(qū)當(dāng)前的使用情況,GAM 和 SGAM 中每個(gè)區(qū)具有以下位模式:

這將簡(jiǎn)化區(qū)管理算法。若要分配統(tǒng)一區(qū),數(shù)據(jù)庫(kù)引擎將在 GAM 中搜索為 1 的位,并將其設(shè)置為 0。若要查找具有可用頁(yè)的混合區(qū),數(shù)據(jù)庫(kù)引擎將在 SGAM 中搜索為 1 的位。若要分配混合區(qū),數(shù)據(jù)庫(kù)引擎將在 GAM 中搜索為 1 的位,將其設(shè)置為 0,然后將 SGAM 中對(duì)應(yīng)的位設(shè)置為 1。若要釋放區(qū),數(shù)據(jù)庫(kù)引擎確保將 GAM 位設(shè)置為 1,將 SGAM 位設(shè)置為 0。實(shí)際上,數(shù)據(jù)庫(kù)引擎內(nèi)部使用的算法比本主題中介紹的更為復(fù)雜,因?yàn)閿?shù)據(jù)庫(kù)引擎在數(shù)據(jù)庫(kù)中均勻分布數(shù)據(jù)。但是,由于無(wú)需管理區(qū)分配信息鏈,因此即使是實(shí)際算法也會(huì)被簡(jiǎn)化。

管理Sql Server可用空間

首先摘錄段 MSDN 的一段官方解釋:

頁(yè)可用空間 (PFS) 頁(yè)記錄每頁(yè)的分配狀態(tài),是否已分配單個(gè)頁(yè)以及每頁(yè)的可用空間量。PFS 對(duì)每頁(yè)都有一個(gè)字節(jié),記錄該頁(yè)是否已分配。如果已分配,則記錄該頁(yè)是為空、已滿 1% 到 50%、已滿 51% 到 80%、已滿 81% 到 95% 還是已滿 96% 到 100%。

將區(qū)分配給對(duì)象后,數(shù)據(jù)庫(kù)引擎將使用 PFS 頁(yè)來(lái)記錄區(qū)中的哪些頁(yè)已分配或哪些頁(yè)可用。數(shù)據(jù)庫(kù)引擎必須分配新頁(yè)時(shí),將使用此信息。保留的頁(yè)中的可用空間量?jī)H用于堆和 Text/Image 頁(yè)。數(shù)據(jù)庫(kù)引擎必須找到一個(gè)具有可用空間的頁(yè)來(lái)保存新插入的行時(shí),使用此信息。索引不要求跟蹤頁(yè)的可用空間,因?yàn)椴迦胄滦械狞c(diǎn)是由索引鍵值設(shè)置的。

在數(shù)據(jù)文件中,PFS 頁(yè)是文件頭頁(yè)之后的第一頁(yè)(頁(yè)碼為 1)。接著是 GAM 頁(yè)(頁(yè)碼為 2),然后是 SGAM 頁(yè)(頁(yè)碼為 3)。第一個(gè) PFS 頁(yè)之后是一個(gè)大小大約為 8,000 頁(yè)的 PFS 頁(yè)。在第 2 頁(yè)的第一個(gè) GAM 頁(yè)之后還有另一個(gè) GAM 頁(yè)(包含 64,000 個(gè)區(qū)),在第 3 頁(yè)的第一個(gè) SGAM 頁(yè)之后也有另一個(gè) SGAM 頁(yè)(包含 64,000 個(gè)區(qū))。下圖顯示了數(shù)據(jù)庫(kù)引擎用來(lái)分配和管理區(qū)的頁(yè)順序。

看過(guò)之后,讓人一頭霧水,真是不知所云,真佩服這些 MSDN 是如何翻譯的,看來(lái)中文 MSDN 太不靠譜,最后沒(méi)辦法,只能google了

其實(shí)上面說(shuō)的意思就是:Sql Server 管理可用空間的方法是,查找每個(gè)每個(gè)頁(yè)面是否使用,以及使用情況情況。這時(shí)就需要一個(gè)頁(yè)面來(lái)記錄各個(gè)頁(yè)面的使用情況了,這就是 PFS 頁(yè)。

PFS(Page Free Space),也叫頁(yè)面自由空間,該頁(yè)面用來(lái)跟蹤一個(gè)文件中每一個(gè)特定的頁(yè)面的利用率情況。一個(gè)文件中第二個(gè)頁(yè)面(頁(yè)碼1)就是PFS頁(yè)面,該頁(yè)面的每個(gè)字節(jié)都記錄了相應(yīng)頁(yè)面的分配情況、頁(yè)面類型、是否IAM頁(yè)、是否包含刪除記錄、以及空間利用率信息;PFS能夠管理和跟蹤8088個(gè)頁(yè)面的使用情況,即接近64M的空間,以后每8088個(gè)頁(yè)面將再出現(xiàn)一次。

讓我們首先了解一下PFS的頁(yè)面管理字節(jié)的構(gòu)造,管理單位為字節(jié),每字節(jié)管理一個(gè)頁(yè)面。

第0個(gè)bit為保留字節(jié),始終為0

第1個(gè)bit表示該頁(yè)面是否已分配,我們知道GAM頁(yè)用來(lái)管理區(qū)是否已分配,但一個(gè)區(qū)包含8個(gè)頁(yè)面,所以用該bit用來(lái)準(zhǔn)確定位該區(qū)的某個(gè)頁(yè)面是否已分配出去了。

第2個(gè)bit表示該頁(yè)面是否混合分區(qū)的一個(gè)頁(yè)面。

第3個(gè)bit表示該頁(yè)面是否是一個(gè)IAM(索引分配映射)頁(yè)面。

第4個(gè)bit表示該頁(yè)面中是否包含幻影或已刪除記錄,這有助于SQL Server定期清理幻影或已刪除記錄。

第5~7個(gè)頁(yè)面表示該頁(yè)面的空間使用率情況。

sqlserver和mysql區(qū)別

開(kāi)發(fā)公司不同、開(kāi)發(fā)工具包搭配不同、開(kāi)放性不同。sqlserver是由Microsoft開(kāi)發(fā)和推廣。mysql由瑞典MySQL AB 公司開(kāi)發(fā),屬于 Oracle 旗下產(chǎn)品。

sqlserver和mysql區(qū)別

開(kāi)發(fā)工具包搭配不同

1、SQLserver:SQLserver能與 Microsoft Visual Studio、Microsoft Office System以及開(kāi)發(fā)工具包搭配。

2、Mysql:Mysql不能與 Microsoft Visual Studio、Microsoft Office System以及開(kāi)發(fā)工具包搭配。

開(kāi)放性不同

1、SQLserver:SQLserver不是開(kāi)放源碼軟件

2、Mysql:Mysql是開(kāi)放源碼軟件。

SQL Server的特點(diǎn)是可信任。使得公司可以以很高的安全性、可靠性和可擴(kuò)展性來(lái)運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序;高效。使得公司可以降低開(kāi)發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本;智能。提供了一個(gè)全面的平臺(tái),可以在用戶需要的時(shí)候給他發(fā)送觀察和信息。

Mysql的特點(diǎn)是其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼。一般中小型網(wǎng)站的開(kāi)發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫(kù)。

什么是MySQL?

MySQL是在90年代中期(后來(lái)被Oracle收購(gòu))開(kāi)發(fā)的,它是最早的開(kāi)源數(shù)據(jù)庫(kù)之一,直到今天仍然如此。這意味著MySQL有幾種選擇。但這些變體之間的差異并不太明顯; 語(yǔ)法和基本功能保持一致。

已經(jīng)成為MySQL特征的東西是它在創(chuàng)業(yè)社區(qū)中的受歡迎程度。因?yàn)樗情_(kāi)源的和免費(fèi)的,所以開(kāi)發(fā)人員可以輕松地開(kāi)始使用MySQL,并在他們可能需要的極少數(shù)情況下修改其代碼。MySQL通常與PHP和Apache Web Server 結(jié)合使用,在Linux發(fā)行版之上,這導(dǎo)致了著名的首字母縮略詞LAMP(L inux,Apache,MySQL,PHP)。

什么是SQL Server?

SQL Server,也稱為Microsoft SQL Server,比MySQL長(zhǎng)得多。Microsoft在80年代開(kāi)發(fā)了SQL Server,并承諾提供可靠且可擴(kuò)展的RDBMS。這些年來(lái),這些仍然是SQL Server的核心品質(zhì),因?yàn)樗谴笮推髽I(yè)軟件的首選平臺(tái)。

SQL Server主要面向使用.NET作為開(kāi)發(fā)語(yǔ)言的開(kāi)發(fā)人員,而不是PHP for MySQL。這是有道理的,因?yàn)閮烧叨紝儆谖④浀谋Wo(hù)傘。


網(wǎng)站名稱:sqlserver區(qū),sqlserver區(qū)間分組
分享URL:http://weahome.cn/article/hcggei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部