【发布时间】:2018-02-24 06:12:29
【问题描述】:
如果我们不对查询实施任何过滤器,有哪些技术可以提高查询的性能? 对我来说,包含 20 列的 3600 万条记录(11 GB)需要 11 分钟才能从表中提取所有记录。 现在是明智的时机吗? 索引是否可以帮助我提高性能? 我正在使用 SQL 2008 服务器。 有什么技巧可以缩短时间?
【问题讨论】:
-
如果没有任何过滤器,索引将无济于事。你拉整张桌子吗?所有列的所有记录?如果是这样:为什么?
-
如果要拉整个表,则需要最小化磁盘访问。一种方法是使用 INMemory OLTP
-
我将其用作可视化的数据层,可视化工具将整个数据拉到内存中。所以我只是确保加载时间是合理的,或者在数据库方面有什么事情要做吗?
-
如果您将所有数据提取到应用程序内存中(本地还是在同一服务器上?),那么根据我的经验,11 分钟可能不会太远。我想这就是将它放在内存中的原因,以便您的工具然后尝试优化,以便它在内存中运行一次?
-
这是在 SQL 中执行查询所需的时间,我只是在想是否可以通过升级系统或进行任何优化来改善这一点..
标签: sql performance sql-server-2008 tsql