如何提高大数据量表的筛选速度

scatman000 2011-04-02 09:30:09
A表有1千多万笔数据,联合主键,我要对它其中一个主键下where条件进行筛选,其结果再join其他表,可是我仅对A表进行where筛选就要花很久,请问能不能提高A表的查询速度呢,谢谢
...全文
141 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
scatman000 2011-04-02
  • 打赏
  • 举报
回复
我刚才是在表设计器里加索引,所以提示超时,用语句加,加了7分钟终于加上了,现在已经快多了,不到3秒就查询出来了,谢谢大家
我2我骄傲 2011-04-02
  • 打赏
  • 举报
回复
1.建立合适的索引
2.优化查询语句
dawugui 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 scatman000 的回复:]
我现在对A表的这个筛选字段加索引可是提示超时,加不上了,可能是因为里面记录太多了吧,这怎么办呢
[/Quote]这都做不了?太恐怖了吧.我几千万,上亿的都能做.
AcHerat 元老 2011-04-02
  • 打赏
  • 举报
回复
加分区表,然后设置字段索引,查询结果可以放入临时表,然后JOIN其他表。
scatman000 2011-04-02
  • 打赏
  • 举报
回复
我现在对A表的这个筛选字段加索引可是提示超时,加不上了,可能是因为里面记录太多了吧,这怎么办呢
Mr_Nice 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dawugui 的回复:]

引用楼主 scatman000 的回复:
A表有1千多万笔数据,联合主键,我要对它其中一个主键下where条件进行筛选,其结果再join其他表,可是我仅对A表进行where筛选就要花很久,请问能不能提高A表的查询速度呢,谢谢

1.针对这个字段建立一个索引.
2.提高机器硬件设施.
[/Quote]

补充,可根据条件设立分区,会得到更好的效果。
scatman000 2011-04-02
  • 打赏
  • 举报
回复
谢谢,我现在就是先对A表进行筛选放入临时表后再join,可是仅仅对它筛选就要将近50秒,受不了了,
我的筛选条件要用in才行,语句这样的
select col1,col2,... from A where col1 in (select col9 from B where ...)
其中B表只有少量数据,in后面的条件也就一百多笔,其中col1字段是字符型的
Rotel-刘志东 2011-04-02
  • 打赏
  • 举报
回复
这么大的表建议分区表,然后在查询的这样的效率会提高的。
还有个办法把次查询放入一个临时表中,然后到临时表读取数据这样对服务器的资源的消耗
会小的多,查询速度也会增加。
dawugui 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 scatman000 的回复:]
A表有1千多万笔数据,联合主键,我要对它其中一个主键下where条件进行筛选,其结果再join其他表,可是我仅对A表进行where筛选就要花很久,请问能不能提高A表的查询速度呢,谢谢
[/Quote]
1.针对这个字段建立一个索引.
2.提高机器硬件设施.
天-笑 2011-04-02
  • 打赏
  • 举报
回复
将 A表 筛选后的数据 放入另一张表,从另一张表 再join其他表

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧