不知何故,我的数据库在写入时太慢了。
目前我使用了 319MB,其中有 2,127,227 行。最初几天,我的计算机每秒能够插入几千行,现在我要花很长时间才能插入 1000 行。现在插入 1000 行(每行 0.165)需要 165 秒。我需要能够每分钟插入 10,000 个(每行 0.006 个)
请在下面查看我的表设计和服务器规格,如果您能帮助我优化它,请告诉我。谢谢你。
Current usage report
Records 2,127,227
Reserveed KB 323,088
Data(KB) 177,088
我的表设计是这样的,我做了索引[LoginID] ASC,[ProductID] ASC, [ProductModifiedDate]
CREATE TABLE [dbo].[ProductTable](
[ID] [uniqueidentifier] NOT NULL,
[LoginID] [int] NULL,
[ProductID] [int] NULL,
[ProductPrice] [decimal](18, 4) NULL,
[ProductModifiedDate] [datetime] NULL,
[ProductCreatedDate] [datetime] NULL,
CONSTRAINT [PK_ProductTable] PRIMARY KEY CLUSTERED
([ID] ASC)
CREATE NONCLUSTERED INDEX [IX_ProductTable] ON [dbo].[ProductTable]
(
[LoginID] ASC,
[ProductID] ASC,
[ProductModifiedDate] ASC
)
我的insert语句只是一个普通的简单sql语句,没有什么特别之处。
我的硬件:
我有一个 2 Quad 2.83 Ghz 和 16GB DDR3 RAM 和 SQL Server 2008 R2 express 版本。插入这些行时,CPU 以 25% 的容量运行。
请让我知道如何优化此表。我真的需要能够搜索所有这些列,所以我认为索引这些列非常重要,我必须将行保留长达 30 天。
我以为 SQL Server Express 版本可以支持 10GB 的数据。