0

我有一个 SQL Server 数据库,其中包含应用程序的使用数据(来自 100 多个设备),收集了超过 1 年的数据(30GB 数据库)。

将数据插入数据库不是问题,足够快(目前),并且是客户端完成的唯一操作。

有一个主表和几个子表,但假设我可以将所有内容放在一个表中。

我需要进行统计分析,所以主要是count(*)按日期和一列或多列过滤。性能越来越慢(尽我所能使用索引)。

迁移到 MongoDB 会提高速度吗?我还没有开始研究它,但我 99% 的操作会是(是的,我知道不是 SQL):

select count(*) from table 
where date between date1 and date2 and field1 = 10 and field2 = "test"
4

2 回答 2

3

sql server 可以轻松处理您的要求。通过使用适当的索引和其他优化技术。SQL SERVER 可以有效地执行这些查询。对于您的用例,在 (date,field1,field2) 上有一个简单的索引

CREATE CLUSTERED INDEX IDX_TABLE_ID ON TABLE(id)
GO
CREATE  INDEX IDX_TABLE_2 ON TABLE(date,field1,field2)
GO

对于快速查询执行来说已经足够了。

只是一个说明: 对于档案分析 SQL server 提供了数据仓库工具(SQL SERVER ANALYSIS SERVICE)。SQL SEREVER CUBE 可以非常简单地聚合和分析庞大的归档数据。

其他 sql server 信息: http: //ms-sql-queries.blogspot.in/

于 2012-12-01T19:54:46.627 回答
0

如果您没有在查询中使用任何联接,则 sql server 的性能不会受到影响。如果您将 mongodb 用于相同目的,那么查询时间也将与 sql 的时间差不多或稍差一些。

于 2012-12-01T18:34:40.930 回答