小编Iva*_*anP的帖子

如何优化大表,以便仅针对最近数据的查询执行最佳?

所以我有一张不断增长的桌子。大多数查询只针对最近的数据,比如一个月前的数据。我想这是常见问题,但我不知道如何解决。

我愿意更改设计,或者 MsSql 中是否有解决此问题的机制。由于数据库正在生产中并且难以复制,因此我尝试不同解决方案的选择有限。

CREATE TABLE [dbo].[mydata](
[ID] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,
[Code] [varchar](20) NOT NULL,   -- index1 UNIQUE NONCLUSTERED INDEX
[Data2] [varchar](20) NULL,      
[Data3] [nvarchar](50) NOT NULL,
... bunch of DATA around 5kb
[Time_1] [datetime] NULL,    -- time created, -- index2 NONCLUSTERED INDEX
[Time_2] [datetime] NULL,    -- time finished ( usualy within few days ) -- index3 NONCLUSTERED INDEX
[Status] [int] NOT NULL,     -- active 
[Modid] [timestamp] NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server

6
推荐指数
1
解决办法
2886
查看次数

是否可以从 SQL Server 2008 复制到 PostgreSql?

是否可以 ?Sql Server 作为发布者(主)和 PostgreSql 作为从(订阅者)?任何类型的复制真的。

postgresql replication sql-server-2008 sql-server postgresql-9.2

6
推荐指数
1
解决办法
4232
查看次数

如何可靠地跟踪存储过程(和函数)随时间的使用情况?

我在数据库中有很多存储过程和函数,很多都不再使用了,我想删除它们。我怎样才能可靠地找到它们?

我已经看到建议查看计划缓存的答案。这是一个很好的开始,但需要注意的是,保留这些计划涉及许多因素。那些因素是什么?我不想仅仅因为计划缓存丢失而删除函数的过程(例如:选项是否重新编译删除计划?)。

我还考虑过使用探查器(运行 2 个月听起来不是一个好主意),或者甚至制作一些脚本来更改所有正在使用的过程(尽管这对函数没有帮助)。

如果无法通过这种方式找到它们,还有其他方式吗?除了 profiler 之外,您还知道其他任何工具吗?(日志分析会太慢,因为我需要超过 2 个月的数据)。

我需要这些数据尽可能可靠。

sql-server-2008 sql-server

6
推荐指数
2
解决办法
2524
查看次数

索引顺序如何影响 SQL Server 中的性能?

我想知道索引的顺序如何影响性能(ASC、DESC)?如果有影响,为什么?我应该选择哪个顺序?

performance sql-server-2008 sql-server query-performance performance-tuning

5
推荐指数
1
解决办法
1651
查看次数

有没有办法截断具有外键的表?

有没有办法截断具有外键的表?删除和重新设定种子可能需要很长时间。删除和重新创建密钥是唯一的方法吗?如果是这样,是否有工具可以做到这一点?

sql-server-2008 foreign-key sql-server truncate ddl

3
推荐指数
1
解决办法
2万
查看次数