检索性能问题

goldenzerg 2008-03-21 01:52:29
现在有100万的数据分100张相同的表存储,检索需要按'time' 字段排序显示32000条检索内容。
目前 我使用 union all,如(select * from 'table1' where(...) union all select * from 'table2' where(...) ......union all select * from 'table100' where(...))order by time desc limit 32000;
这样做一次的时间是300秒
有什么办法能检索快一点呢?
貌似索引遇到了分表就没有什么用了,limit 和 order by一起用也没有什么加速作用.
问一下 这句sql语句怎么写才好呢??请各位高手帮帮忙
...全文
160 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
sams_wang 2009-08-20
  • 打赏
  • 举报
回复
表结构很不合理,100个表进行UNION ALL,那就怎么优化估计也优化不到那里去了;
建议楼主再建一个表(设置好相关的索引),然后再在之前的100个表中创建INSERT/UPDATE触发器,每次有新的数据就同时把新的数据库保存到新建的表中,以后查询数据的时候就从新的表进行查询了,这样处理对于你现在的情况应该是一个比较可行的解决方法了
lylm 2009-07-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 goldenzerg 的帖子:]
现在有100万的数据分100张相同的表存储,检索需要按'time' 字段排序显示32000条检索内容。
目前 我使用 union all,如(select * from 'table1' where(...) union all select * from 'table2' where(...) ......union all select * from 'table100' where(...))order by time desc limit 32000;
这样做一次的时间是300秒
有什么办法能检索快一点呢?
貌似索引遇到了分表就没有什么用了,limit 和 order by一起用也没有什…
[/Quote]
1.有必要分那么多表吗?意义何在?一个表100万数据也不算多,这样,只要time有索引,100万检索32000肯定很快
2.就算分,少分些也会有很大提高,100张表Union太夸张了
3.能不排序的话会有很大提高,问题出在这里,就算每个表time上都有索引,order by time也用不上这些索引,它需要Union后再排序
heipn 2009-05-25
  • 打赏
  • 举报
回复
有这样的需求干嘛要分表啊!
winshion 2009-05-20
  • 打赏
  • 举报
回复
为什么要分100张表来做呢?有没有测试过,一张表的效率高 还是你这样的效率高?
dawn023 2009-03-13
  • 打赏
  • 举报
回复
mark
guobaiya 2009-03-02
  • 打赏
  • 举报
回复
建索引可以提高效率吧
quningstudy 2009-02-24
  • 打赏
  • 举报
回复
up
ooily 2008-12-19
  • 打赏
  • 举报
回复
帮顶
wap21 2008-12-19
  • 打赏
  • 举报
回复
帮顶
jackleipm 2008-12-19
  • 打赏
  • 举报
回复
3楼的没说全。现在time上建立索引(所有的表均是),然后查询语句中where 后面第一个条件应该是关于time字段的条件。这样下来只要不到1秒即可查询出来。
android2008 2008-11-30
  • 打赏
  • 举报
回复
up
hbwhwang 2008-11-30
  • 打赏
  • 举报
回复
做一个视图,可能会快一点
sdqd321 2008-11-24
  • 打赏
  • 举报
回复
不懂,up
android2008 2008-11-24
  • 打赏
  • 举报
回复
不懂,up
zhangyanxxxx 2008-11-24
  • 打赏
  • 举报
回复
在time字段上建立索引
liaoyi_ipanel 2008-09-28
  • 打赏
  • 举报
回复
up
yeah920 2008-09-28
  • 打赏
  • 举报
回复
帮忙顶一下,让了解的人来解答.
Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎 课程特点毕业后接触的第一个中间件就是Solr,在工作中用处广泛,为了便于大家快速掌握该技能,开始录制相关课程,该专栏特点如下:1.采用Solr最新版本视频录制,全网最新课程(Solr8.1于2019年5月16日发布)2.技能点全网最全,会结合工作经验,项目中用到的技能点都会有所涉及,更新章节比较全面3.适用范围广,从零基础到高级架构以及分布式集群都涵盖,适用初级、高级、项目实战等多个层次开发者4.多种维度辅助学习,采用独立solr粉丝群辅助教学,学员问题会及时得到解决,程序员突破圈 打卡制度,督促学员学习关注后再购买、 关注后再购买、 关注后再购买课程能得到什么1.快速学习到最新版本的全文检索技术,从视频、文章、圈子、粉丝交流等快速促进学习2.通过该技术,获得面试进阶指导3.结交人脉(庞大的粉丝群)..End初期学员100人,价格不会太高,也是为了帮助更多的开发者但是个人精力有限,所以限制条件如下1.求知欲强,有想向技术更深一层了解的2.乐于交流,喜欢探讨技术者3.学习惰性者慎入,购买后会督促大家学习,购买不是目的,学习到该技能才是该专栏的主要目的正式进入学习状态了吗,专栏群见。

249

社区成员

发帖
与我相关
我的任务
社区描述
其他产品/厂家
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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