- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
着 “金盾工程”建设的逐步深入和公安信息化的高速发展, 公安计算机
应用系统被广泛应用在各警种、 各部门。 与此同时, 应用系统体系的核
心、系统数据的存放地――数据库也随着实际应用而急剧膨胀, 一些大
规模的系统,如人口系统的数据甚至超过了 1000 万条,可谓海量。那
么,如何实现快速地从这些超大容量的数据库中提取数据(查询)、分
析、统计以及提取数据后进行数据分页已成为各地系统管理员和数据库
管 理 员 亟 待 解 决 的 难 题 。
在以下的文章中,我将以“办公自动化”系统为例,探讨如何在有着
1000 万条数据的 MS SQL SERVER数据库中实现快速的数据提取和数据
分页。 以下代码说明了我们实例中数据库的 “红头文件”一表的部分数
据结构:
CREATE TABLE [dbo].[TGongwen] ( ??? --TGongwen 是红头文件表名
?? [Gid] [int] IDENTITY (1, 1) NOT NULL ,
-- 本表的 id 号,也是主键
?? [title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL , ?
-- 红头文件的标题
?? [fariqi] [datetime] NULL ,
-- 发布日期
?? [neibuYonghu] [varchar] (70) COLLATEChinese_PRC_CI_ASNULL,
-- 发布用户
?? [reader] [varchar] (900) COLLATE Chinese_PRC_CI_AS NULL ,
-- 需要浏览的用户。每个用户中间用分隔符“ , ”分开
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
下面,我们来往数据库中添加 1000 万条数据:
declare @i int
set @i=1
while @i=250000
begin
??? insert into Tgongwen(fariqi,neibuyonghu,reader,title)
values(2004-2-5, 通信科 , 通信科 , 办公室 , 王局长 , 刘局长 , 张局
长 ,admin, 刑侦支队 , 特勤支队 , 交巡警支队 , 经侦支队 , 户政科 , 治安支
队, 外事科 , 这是最先的 25 万条记录 )
??? set @i=@i+1
end
GO
declare @i int
set @i=1
while @i=250000
begin
??? insert into Tgongwen(fariqi,neibuyonghu,reader,title)
values(2004-9-16, 办公室 , 办公室 , 通信科 , 王局长 , 刘局长 , 张局
长 ,admin, 刑侦支队 , 特勤支队 , 交巡警支队 , 经侦支队 , 户政科 , 外事科
, 这是中间的 25 万条记录 )
??? set @i=@i+1
end
GO
declare @h int
set @h=1
while @h=100
begin
declare @i int
set @i=2002
while @i=2003
begin
declare @j int
??????? set @j=0
??????? while @j50
??????????? begin
declare @k int
??????????? set @k=0
??????????? while @k50
??????????? begin
??? insert into Tgongwen(fariqi,neibuyonghu,reader,title)
va
文档评论(0)