2010-09-18 175 views
0

有没有办法在60秒内从SQL Server 2005中获取400万条记录?优化sql select语句

我的表格由15列组成。每个数据类型都是varchar(100),并且没有主键。

+3

非印度人注意:“十万”为100,000。 – 2010-09-18 08:10:44

+0

@Jon Skeet:你知道乌尔都语/印地语或使用谷歌翻译。 – NAVEED 2010-09-18 08:14:36

+0

你需要在你的问题中提供更多细节。你想要400万条记录?为什么你需要同时获取400万条记录? – 2010-09-18 08:17:34

回答

2

假设你想在表的全部内容,然后先试试这个:

SELECT col1, col2, ... col15 FROM your_table 

如果太慢那么有没有真的没有什么东西可以做除了改变你的程序的设计,使其不需要一次获取很多行。

如果此记录将显示在图形用户界面中,您可以考虑使用分页,而不是一次获取所有行。

+1

我只是** ** **网格400万行 - 使滚动这样的乐趣! – 2010-09-19 08:19:48

+0

:-)是啊..当你滚动时,行仍然被提取..更有趣。:-) – 2010-09-21 17:19:11

0

其实上次我做了这样的事情,我放了一个过滤器下拉菜单,然后使用过滤器用户选择过滤记录。我还在下拉列表中选择了“全部”选项,并向用户显示一条消息,如“正在检索所有记录会慢一点,想继续吗?”。无论如何,正如Mark所建议的那样,我使用了分页。