海量数据建立索引优化的问题.高分

wanghan226 2007-11-06 02:16:03
有一表datatable数据量超过3千万条.其中列20多个主要用到的有以下三个列进行检索:
卡号 int,
商场 varchar,
时间 datetime

现在的问题是在该应用中有由客户选择使用其中任意列作为检索条件,有时用到3个有时只用到2个或1个列不等作为检索条件.该如何指定索引.


我建立3个字段的联合索引后发现速度比没建立索引还慢,请教该如何合理的建立索引优化查询.
...全文
100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghan226 2007-11-07
  • 打赏
  • 举报
回复
检索条件不一定,很多时候会查询某商场全部数据而不用时间字段.
楼上的意见就是分别单独建立索引咯?
多壮志 2007-11-06
  • 打赏
  • 举报
回复
毫无疑问,在卡号,商场上都需要单独的建立索引,并且是分区本地索引.
byfree 2007-11-06
  • 打赏
  • 举报
回复
楼上说得对,用分区加本地索引。
如果你的表不是分区的,可以在线重定义表,将它改成分区表
bobfang 2007-11-06
  • 打赏
  • 举报
回复
所有查询是否都会用上时间字段?我设计会考虑按时间做分区,再对卡号和商场做本地索引。
wanghan226 2007-11-06
  • 打赏
  • 举报
回复
忘记说该检索与卡档案表中的卡号为主外键关系并建立关联检索的.
select a.卡号,a.商场,a.时间,b.卡信息 from datatable a ,kda b where a.卡号=b.卡号 and a.商场=? and
a.时间>?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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