您現在的位置是:電腦技術吧?>? 組裝維修 ??>??刪除分區會刪除數據嗎,數據庫分區??>??正文詳情

刪除分區會刪除數據嗎,數據庫分區

危泰和2019-12-20 11:02:17 人圍觀
簡介分區損壞恢復數據創建分區表后,可以直接將數據插入分區表,而不管數據放在哪個物理數據表中。在上一篇文章的后面,我們將幾個數據插入到創建的分區表中:50行=15名稱=code類=c移

在創建完分區表后,可以向分區表中直接插入數據,而不用去管它這些數據放在哪個物理上的數據表中。

接上篇文章,我們在創建好的分區表中插入幾條數據:  50 rows=15 name=code class=c-sharpinsert Sale ([Name],[SaleTime]) values ('張三','2009-1-1')  insert Sale ([Name],[SaleTime]) values ('李四','2009-2-1')  insert Sale ([Name],[SaleTime]) values ('王五','2009-3-1')  insert Sale ([Name],[SaleTime]) values ('錢六','2010-4-1')  insert Sale ([Name],[SaleTime]) values ('趙七','2010-5-1')  insert Sale ([Name],[SaleTime]) values ('張三','2011-6-1')  insert Sale ([Name],[SaleTime]) values ('李四','2011-7-1')  insert Sale ([Name],[SaleTime]) values ('王五','2011-8-1')  insert Sale ([Name],[SaleTime]) values ('錢六','2012-9-1')  insert Sale ([Name],[SaleTime]) values ('趙七','2012-10-1')  insert Sale ([Name],[SaleTime]) values ('張三','2012-11-1')  insert Sale ([Name],[SaleTime]) values ('李四','2013-12-1')  insert Sale ([Name],[SaleTime]) values ('王五','2014-12-1')  從以上代碼中可以看出,我們一共在數據表中插入了13條數據,其中第1至3條數據是插入到第1個物理分區表中的;第4、5條數據是插入到第2個物理分區表中的;第6至8條數據是插入到第3個物理分區表中的;第9至11條數據是插入到第4個物理分區表中的;第12、13條數據是插入到第5個物理分區表中的。

  從SQL語句中可以看出,在向分區表中插入數據方法和在普遍表中插入數據的方法是完全相同的,對于程序員而言,不需要去理會這13條記錄研究放在哪個數據表中。

當然,在查詢數據時,也可以不用理會數據到底是存放在哪個物理上的數據表中。

如使用以下SQL語句進行查詢:  [c-sharp] view plaincopy select * from Sale  查詢的結果如下圖所示:

  從上面兩個步驟中,根本就感覺不到數據是分別存放在幾個不同的物理表中,因為在邏輯上,這些數據都屬于同一個數據表。

如果你非想知道哪條記錄是放在哪個物理上的分區表中,那么就必須使用到$PARTITION函數,這個函數的可以調用分區函數,并返回數據所在物理分區的編號。

  說起來有點難懂,不過用起來很簡單。

$PARTITION的語法是:  $PARTITION.分區函數名(表達式)  假設,你想知道2010年10月1日的數據會放在哪個物理分區表中,你就可以使用以下語句來查看。

  [c-sharp] view plaincopy select $PARTITION.partfunSale ('2010-10-1')  在以上語句中,partfunSale()為分區函數名,括號中的表達式必須是日期型的數據或可以隱式轉換成日期型的數據,如果要問我為什么,那么就回想一個怎么定義分區函數的吧(CREATE PARTITION FUNCTION partfunSale (datetime))。

在定義partfunSale()函數時,指定了參數為日期型,所以括號中的表達式必須是日期型或可以隱式轉換成日期型的數據。

以上代碼的運行結果如下圖所示:

  在該圖中可以看出,分區函數返回的結果為2,也就是說,2010年10月1日的數據會放在第2個物理分區表中。

  再進一步考慮,如果想具體知道每個物理分區表中存放了哪些記錄,也可以使用$PARTITION函數。

因為$PARTITION函數可以得到物理分區表的編號,那么只要將$PARTITION.partfunSale(SaleTime)做為where的條件使用即可,如以下代碼 所示:  [c-sharp] view plaincopy select * from Sale where $PARTITION.partfunSale(SaleTime)=1  select * from Sale where $PARTITION.partfunSale(SaleTime)=2  select * from Sale where $PARTITION.partfunSale(SaleTime)=3  select * from Sale where $PARTITION.partfunSale(SaleTime)=4  select * from Sale where $PARTITION.partfunSale(SaleTime)=5  以上代碼的運行結果如下圖所示:

  從上圖中我們可以看到每個分區表中的數據記錄情況和我們插入時設置的情況完全一致。

同理可得,如果要統計每個物理分區表中的記錄數,可以使用如下代碼:  [c-sharp] view plaincopy select $PARTITION.partfunSale(SaleTime) as 分區編號,count(id) as 記錄數 from Sale group by $PARTITION.partfunSale(SaleTime)  以上代碼的運行結果如下圖所示:

  除了在插入數據時程序員不需要去考慮分區表的物理情況之外,就是連修改數據也不需要考慮。

SQL Server會自動將記錄從一個分區表移到另一個分區表中,如以下代碼所示:  [c-sharp] view plaincopy --統計所有分區表中的記錄總數  select $PARTITION.partfunSale(SaleTime) as 分區編號,count(id) as 記錄數 from Sale group by $PARTITION.partfunSale(SaleTime)  --修改編號為1的記錄,將時間改為2019年1月1日  update Sale set SaleTime='2019-1-1' where id=1  --重新統計所有分區表中的記錄總數  select $PARTITION.partfunSale(SaleTime) as 分區編號,count(id) as 記錄數 from Sale group by $PARTITION.partfunSale(SaleTime)  在以上代碼中,程序員將其中一條數據的時間改變了,從分區函數中可以得知,這條記錄應該從第一個分區表移到第五個分區表中,如下圖所示。

而整個操作過程,程序員是完全不需要干預的。

版權聲明:本文由 危泰和 整理編輯。

原標題:系統分區數據緩存,合并分區會丟失數據嗎

轉載注明出處:http://www.dn9ww09s.icu/assemble/15580.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 什么是數據庫,數據庫有什么用

    什么是數據庫,數據庫有什么用 相關圖片數據庫類型對于SQL新手來說,空值的概念常常會引起混淆。他們經常認為null與空字符串“”是同一回事。事實并非如此。例如,以下語句完全不同:MySQL insert in數據庫有哪些類型...

  • fplot用法示例,vbarray的用法

    fplot用法示例,vbarray的用法 相關圖片groupbyhiving用法本文主要介紹Oracle merge into的使用。您可以參考以下情況。如果表中已經存在一段數據,請更新它。如果不存在,插入新數據。如果不使用Oracle提供說的用法...

  • 在數組中查找指定元素,數組添加元素

    在數組中查找指定元素,數組添加元素 相關圖片怎么刪除數組中的某個元素本文的示例描述了JavaScript判斷數組是否包含指定元素的方法。與您分享以供參考。具體如下:該代碼通過prototype定義數組方法,以便調用contain如何刪除數組中...

  • js 數組對象排序,js對象數組進行快去排序

    js 數組對象排序,js對象數組進行快去排序 相關圖片json對象數組asp.net中的ArrayList對象是包含單個數據值的數據項的集合。如何創建ArrayList對象以及如何對ArrayList中數據項的內容進行排序?下面是數組對象去重...

  • 迭代算法的例子,迭代重建算法

    迭代算法的例子,迭代重建算法 相關圖片迭代計算什么意思在網頁上實現樹結構有點麻煩。在一個新的MIS系統的開發中,我們的項目組廣泛使用了樹形結構,如人員的選擇和單元的選擇。該MIS系統的數據庫是Oracle 9i,o斐波那契...

  • 如何防范漏洞,怎樣防范漏洞

    如何防范漏洞,怎樣防范漏洞 相關圖片xss漏洞防范1。數據庫下載漏洞攻擊原理:當使用access作為后臺數據庫時,如果有人通過各種方法知道或猜測服務器的access數據庫路徑和數據庫名,也可以下載access數漏洞是怎么產生的...

  • php將html轉化為word,phpword中文手冊

    php將html轉化為word,phpword中文手冊 相關圖片html5 word文件本文的例子描述了在PHP中將上傳的word文件轉換成HTML的方法。與您分享以供參考。具體實現方法如下:上傳頁面:?12345678910121314!DOCTphpword轉html閱讀...

  • excel的工作簿是,excel多個工作簿匯總

    excel的工作簿是,excel多個工作簿匯總 相關圖片excel批量合并工作簿學校希望以Excel文件的形式提交校友記錄中收集到的校友電子郵件地址,方便校友團體向全體校友發出參加校慶80周年的邀請。校友記錄數據庫是access mdb格式一個工作...

  • kotlin android開發,安卓開發框架

    kotlin android開發,安卓開發框架 相關圖片android開發語言本文主要介紹Android開發的IDE、ADT、SDK、JDK、NDK等術語的定義。對這些概念感到困惑是件痛苦的事。本文簡要說明了這些術語的含義。讓我們共同努力android系統...

  • 一波又一波,一波還來不及

    一波又一波,一波還來不及 相關圖片一波接一波本文主要介紹了一種實用的bash shell排序方法,它適用于Ubuntu和其他Debian-Linux系統。您可以將以下內容作為朋友的命令行資源管理器。你可能來一波是什么意思...

熱評文章

  • 項目管理器的功能,文件管理器哪個好用

    項目管理器的功能,文件管理器哪個好用 相關圖片安卓文件管理器特定的SQL企業管理器。(請注意:只有您擁有Microsoft office2000或XP許可證,這些軟件才是免費的。)許多使用SQL server的公司也使用服務器管理器怎么打開...

  • 明日之后水紋特效,視頻局部水紋特效

    明日之后水紋特效,視頻局部水紋特效 相關圖片pr水波紋特效在哪/*腳本:zhfi特別感謝:restools,x-star*/!Addplugindir。!添加目錄。!包括mui2.nsh------------------ae波浪特效...

  • 異步獲取無阻,echarts異步獲取數據

    異步獲取無阻,echarts異步獲取數據 相關圖片js異步請求1) 要從指定的URL獲取相應的流,因為要獲取網絡資源,必須首先擁有URL。在這里,我首先封裝了通過打開URL連接獲得的InputStream,這樣interf真正的異步...

  • php類的方法,php教程

    php類的方法,php教程 相關圖片php入門在PHP5之前,如果每個PHP框架都想實現類的自動加載,通常會根據某個約定自己實現一個遍歷目錄,并自動加載所有符合約定規則的類或函數。當然,在PHP 5之前,面php是什么...

  • 動態生成,動態表情生成器

    動態生成,動態表情生成器 相關圖片q動態頭像生成器在web應用中,經常需要動態生成圖片,如實時股市行情、各種統計圖表等。在這種情況下,圖片只能在服務器內存中動態生成并發送給用戶,然后在瀏覽器中顯示。實際...

  • aspjs格式化,asp格式化2百位

    aspjs格式化,asp格式化2百位 相關圖片asp文件轉換格式本文主要介紹了asp.net頁面中時間格式的例子。您可以參考asp.net頁面以Eval格式顯示時間,格式代碼如下:table trtd style=widthasp時間格式...

  • 復雜的事情簡單做例子,簡單生活的例子

    復雜的事情簡單做例子,簡單生活的例子 相關圖片堅持的例子一個比較簡單的asp.net文件上傳程序代碼,可以上傳rar、zip、TXT、JPG、GIF、DOC等格式的文件。您可以直接復制代碼并將其保存為ASPX文件進行偽代碼的簡單例子...

  • 自定義狀態欄怎么設置,自定義狀態欄不見了

    自定義狀態欄怎么設置,自定義狀態欄不見了 相關圖片華為自定義狀態欄公司的開發項目需要在狀態欄上增加程序下載的進度條。對于之前編寫的程序,由于自定義狀態欄的邊框和子視圖的邊框和變換都是根據iPad的方向設置的,所以有些...

  • 數據庫分區表有必要嗎,數據庫分區表類型

    數據庫分區表有必要嗎,數據庫分區表類型 相關圖片sql數據庫分區Oracle數據庫如何查看分區表信息?我想知道你是否總結了這些知識。接下來,我們創建兩個表test和GPRS?細胞體積?努力做實驗。腳本如下:create tadb2分區表創建...

  • html字符串轉化為,讓字符串轉成html

    html字符串轉化為,讓字符串轉成html 相關圖片js解析html字符串本文主要介紹了JavaScript檢測字符串中是否包含HTML標記的實現方法。本文直接給出了實現代碼。對于您的朋友,請參考下面的函數代碼:/**HTML標記是否js字符串轉html標簽...

關注微信

变脸官网查询