Mag*_*ier 5 index sql-server sql-server-2008-r2 fragmentation
有没有人有一个很好的方法来手动为索引创建特定的碎片,理想情况下不增加基础表中的行数?我需要这个来进行索引重建基准测试。为了测量相同表/索引的特定碎片率所需的时间,我必须重新创建我想尝试的特定碎片级别。
通过或多或少的随机表更新来创建这种碎片是非常耗时且困难的。有任何想法吗?
更新:这是我的测试表。它实际上有大约 540K 行,
USE [Test]
GO
/****** Object: Table [dbo].[tFrag2] Script Date: 12/22/2015 15:33:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tFrag2](
[a] [int] NULL,
[b] [varchar](1000) COLLATE Latin1_General_CI_AS NULL,
[c] [varchar](1000) COLLATE Latin1_General_CI_AS NULL,
[d] [decimal](18, 0) NULL,
[e] [int] NULL,
[uid] [uniqueidentifier] NOT NULL,
[dt1] [datetime] NULL,
[dt2] [datetime] NULL,
[dt3] [datetime] NULL,
[dt4] [datetime] NULL,
[dt5] [datetime] NULL,
[dt6] [datetime] NULL,
[dt7] [datetime] NULL,
[dt8] [datetime] NULL,
[dt9] [datetime] NULL,
[nv1] [nvarchar](4000) COLLATE Latin1_General_CI_AS NULL,
[nv2] [nvarchar](4000) COLLATE Latin1_General_CI_AS NULL,
[nv8] [nvarchar](4000) COLLATE Latin1_General_CI_AS NULL,
[nv3] [nvarchar](4000) COLLATE Latin1_General_CI_AS NULL,
[nv4] [nvarchar](4000) COLLATE Latin1_General_CI_AS NULL,
[nv5] [nvarchar](4000) COLLATE Latin1_General_CI_AS NULL,
[nv6] [nvarchar](4000) COLLATE Latin1_General_CI_AS NULL,
[nv7] [nvarchar](4000) COLLATE Latin1_General_CI_AS NULL,
[lfd] [int] IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_tFrag2] PRIMARY KEY CLUSTERED
(
[uid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_a] DEFAULT ((123123)) FOR [a]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_b] DEFAULT ('ccccccccccccccccccc4444444444444444444444444') FOR [b]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_c] DEFAULT ('ffffffffffffffffffffffffffffffffffffffffffffffff') FOR [c]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_d] DEFAULT ((7)) FOR [d]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_e] DEFAULT ((777)) FOR [e]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag_uid2] DEFAULT (newid()) FOR [uid]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt1] DEFAULT (getdate()) FOR [dt1]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt2] DEFAULT (getdate()) FOR [dt2]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt3] DEFAULT (getdate()) FOR [dt3]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt4] DEFAULT (getdate()) FOR [dt4]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt5] DEFAULT (getdate()) FOR [dt5]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt6] DEFAULT (getdate()) FOR [dt6]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt7] DEFAULT (getdate()) FOR [dt7]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt8] DEFAULT (getdate()) FOR [dt8]
GO
ALTER TABLE [dbo].[tFrag2] ADD CONSTRAINT [DF_tFrag2_dt9] DEFAULT (getdate()) FOR [dt9]
GO
ALTER TABLE [dbo].[tFrag2] ADD DEFAULT ('xxxxxxxxxxxxxxxxxxxx') FOR [nv1]
GO
ALTER TABLE [dbo].[tFrag2] ADD DEFAULT ('xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxx') FOR [nv2]
GO
ALTER TABLE [dbo].[tFrag2] ADD DEFAULT ('xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxx') FOR [nv8]
GO
ALTER TABLE [dbo].[tFrag2] ADD DEFAULT ('xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxx') FOR [nv3]
GO
ALTER TABLE [dbo].[tFrag2] ADD DEFAULT ('xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxx') FOR [nv4]
GO
ALTER TABLE [dbo].[tFrag2] ADD DEFAULT ('xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxx') FOR [nv5]
GO
ALTER TABLE [dbo].[tFrag2] ADD DEFAULT ('xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxx') FOR [nv6]
GO
ALTER TABLE [dbo].[tFrag2] ADD DEFAULT ('xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxx') FOR [nv7]
GO
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2549 次 |
最近记录: |