当前位置: 代码迷 >> DB2 >> 查询记录数在上亿条SQL效率有关问题
  详细解决方案

查询记录数在上亿条SQL效率有关问题

热度:10468   发布时间:2013-02-26 00:00:00.0
查询记录数在上亿条SQL效率问题,请教高手
假设表A有字段a, b, c, d四个字段,a, b, c, d均为主索引,表A数据量在亿级别。
SQL语句如下:select * from A where a=:a and b=:b and c>=:c and d<=:d,其中以:开头的均为传递过来的数据,且注意c,d字段,c>=:c and d<=:d,实在没有办法,只能这么写该查询条件,并非是between..and。

如果使用物化查询表,个人认为不太适合,因为A表不需要GROUP BY统计,经常会变化。

想请教高手,这样的SQL语句如何提供查询效率? 先谢谢了


------解决方案--------------------------------------------------------
做分区表,并且做成MDC表
------解决方案--------------------------------------------------------
做成mdc表,关键字是organized by(1,2)
你是按什么做的分区
------解决方案--------------------------------------------------------
引用分区都做了,索引也做了

------解决方案--------------------------------------------------------
如果你有quest central for db2的话,在tune Sql里查访问计划。
也可以在命令行方式用下列方法,查访问计划:
db2 connect to 数据库名 
db2 "explain plan for select * from A where a=:a and b=:b and c>=:c and d<=:d"
db2exfmt

  相关解决方案