我开始在一个项目中工作,该项目必须重用具有超过7,000,000条记录的表的Microsoft SQL Server 2008旧数据库。
最后几分钟对该表的查询,我想知道一个不同类型的数据库(即非关系型)是否会更好地处理这个问题。
你推荐什么?无论如何,有没有办法提高关系数据库的性能?
由于
更新
我正在使用Navicat来执行这个简单的查询:
SELECT DISTINCT [NROCAJA]
FROM [CAJASE]
如此复杂的东西和子查询不是问题。我也想知道是否缺少索引是问题,但表格似乎被编入索引:
EPIC FAIL:
数据库在远程服务器中!!查询实际需要5秒钟(我仍然认为这是很多时间,但现在问题不同了)。 99%的经过时间是网络传输。无论如何,谢谢你的回答:)
答案 0 :(得分:3)
700万是SQL Server的一个小型数据库,它可以通过适当的设计轻松处理数TB的数据。可能你的设计很差,缺少索引,加上硬件差,再加上性能不佳的查询。不要责怪数据库开发人员在SQL Server上的无能。
答案 1 :(得分:2)
对您的查询进行概要分析 - 700万条记录的数量并不是很大,因此您可能会错过索引或执行复杂的子查询,这些查询在数据集范围内表现不佳。
我认为你还不需要重新构建整个系统。
答案 2 :(得分:0)
您选择“不同”的事实可能是个问题。也许将这些不同的值移到它自己的表中以避免重复。