成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL SERVER分區視圖

數據庫 SQL Server
SQL SERVER分區視圖實現了數據的快速定位,對SQL中的表進行集中管理,讓大數據量管理成為了可能,提高了查詢的速度。

借助SQL SERVER分區視圖,可以對SQL中的表進行集中管理,下文將以實例的方式為您詳解SQL SERVER分區視圖,希望對您學習SQL數據庫能有所幫助。

SQL SERVER分區視圖給我們提供了一種實現大數據量管理的方法,類似于其它數據庫管理系統的分區視圖。不僅實現了表的集中管理,而且實現了數據的快速定位。下邊我就以一個日志記錄表為例來說以下分區視圖的作用:

日志記錄表可以記錄很長時間的日志信息,隨著時間的推移,日志表會變的很大。這樣對與表的查詢和維護操作都是非常慢的,但是如果我們按日期來劃分把表分成若干小表,而在邏輯上統一使用一個視圖來查詢管理,那么是非常方便的.而且SQL SERVER可以根據查詢的條件來自動的定位表,這樣也就提高了查詢的速度.

-- 首先我們要實現的是一個記錄日志的存儲過程,這個存儲過程不是簡單的把日志插入,還要按當前日期來判斷-- 表是否存在,然后動態的建立表,并按分區表的規則建立CHECK約束.在此例中,我們使用的是按周的日期來-- 規定表的名稱如下:dbo.[20061218-20061224]

  1. use TestDB  
  2. if exists (select name from sysobjects where name = 'P_LogWriter' and type = 'P')  
  3.    drop proc dbo.P_LogWriter  
  4. go  
  5. ----Log日志文件  
  6.  
  7. create proc dbo.P_LogWriter  
  8. @desc varchar(1000)  
  9. as  
  10. begin tran  
  11. set nocount on  
  12.  
  13. declare @wk_start datetime,@wk_end datetime  
  14. declare @str_start varchar(50),@str_end varchar(50)  
  15. declare @tb_name varchar(100),@sql varchar(4000)  
  16.  
  17. -- 周的開始日期  
  18. set @wk_start=dateadd(d,2-datepart(dw,getdate()),convert(char(10),getdate(),120))  
  19. -- 周的結束日期  
  20. set @wk_end=dateadd(s,-1,dateadd(wk,1,@wk_start))  
  21.  
  22. set @str_start=convert(varchar(50),@wk_start,120)  
  23. set @str_end=convert(varchar(50),@wk_end,120)  
  24.  
  25. -- 表的名稱  
  26. set @tb_name=convert(varchar(10),@wk_start,112)+'-'+convert(varchar(10),@wk_end,112)  
  27.  
  28. -- 如果表不存在,就建立表  
  29. if not exists(select 1 from sysobjects where name=@tb_name and xtype='U')  
  30. begin  
  31.    set @sql='create table dbo.['+@tb_name+'](id int identity(1,1),updatetime datetime primary key check(updatetime between '''+@str_start+''' and '''+@str_end+'''),[desc] varchar(1000))'  
  32.    --print @sql  
  33.    exec(@sql)  
  34. end  
  35.  
  36. -- 插入相應的日志數據  
  37. set @sql='insert ['+@tb_name+'](updatetime,[desc]) select getdate(),'''+@desc+''''  
  38. exec(@sql)  
  39.  
  40. set nocount off  
  41. commit tran  
  42. Go  
  43.  

#p#-- 創建分區視圖

  1. create view v_Log  
  2. as  
  3. select * from dbo.[20061218-20061224]  
  4. union all  
  5. select * from dbo.[20061225-20061231]  
  6. Go 

-- 查詢分區視圖

  1. select * from v_Log  
  2. where updatetime<'2006-12-24 11:21:27.653' 

-- 通過分析查詢的執行計劃我們可以看到,SQL SERVER可以自動定位相應的表取得數據,從而提高了查詢的-- 速度.
 

 

 

【編輯推薦】

教您如何使用SQL中的函數替代游標

創建SQL函數的實例

SQL中返回計算表達式的函數

SQL中循環語句的效果實例

SQL中類似For循環處理的實例

責任編輯:段燃 來源: CSDN博客
相關推薦

2010-06-30 16:58:24

SQL Server分

2011-04-02 17:21:29

sql server視圖

2010-07-14 10:11:30

SQL Server系

2010-09-27 09:54:26

Sql Server視

2010-07-19 16:36:13

SQL Server視

2010-11-12 11:19:19

SQL Server視

2010-11-10 14:47:11

SQL Server創

2010-11-11 17:20:51

SQL Server創

2009-07-02 12:57:00

SQL Server視

2010-07-19 09:31:53

SQL Server系

2010-07-12 10:34:58

SQL Server視

2010-11-11 16:59:59

SQL Server視

2010-11-11 17:15:13

SQL Server視

2010-07-07 13:18:13

SQL Server視

2010-10-21 15:07:09

SQL Server系

2011-03-21 10:13:31

Sql Server數分區

2011-07-06 13:09:11

SQL Server

2010-11-10 14:35:17

SQL Server創

2010-09-13 17:03:34

sql server觸

2010-07-06 17:16:43

SQL Server視
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99av成人精品国语自产拍 | 色婷婷亚洲国产女人的天堂 | 欧美精品1区2区 | 91在线免费观看 | 九九爱这里只有精品 | h视频网站在线观看 | 国产日韩欧美在线 | 国产成人高清视频 | 国产区在线免费观看 | 91久久国产综合久久 | 国外成人在线视频 | а天堂中文最新一区二区三区 | 欧美片网站免费 | 视频一区二区三区中文字幕 | www.yw193.com| 免费在线观看av网址 | 久久性色| 国产成人精品一区二区三区四区 | 日本又色又爽又黄的大片 | 91一区二区 | 国产高清在线精品一区二区三区 | 国产欧美精品区一区二区三区 | 成年人在线视频 | 日本人做爰大片免费观看一老师 | 超碰人人91 | 男女视频在线免费观看 | 欧美成人精品激情在线观看 | 精品国产一区二区三区久久 | 91在线一区 | 日本a在线 | 精品视频一区二区三区 | 国产高清免费 | 日日操视频 | 天天色天天色 | 成人av影院 | 一区二区在线不卡 | 四虎影院在线播放 | 国产精品视频导航 | 国产精品99久久久久久久久久久久 | 在线免费黄色小视频 | 日本欧美国产在线观看 |