楼主: jinaqu

[SQL] 【性能优化】分区表查询,怎样更快呢?

[复制链接]
论坛徽章:
8
宝马
日期:2013-12-30 15:12:362014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08青年奥林匹克运动会-击剑
日期:2014-08-26 08:46:14马上加薪
日期:2014-12-15 14:55:28马上加薪
日期:2015-01-30 09:13:41美羊羊
日期:2015-03-19 15:04:19水瓶座
日期:2016-01-28 10:23:13
21#
发表于 2015-1-4 16:37 | 只看该作者
分区表查询不带分区条件;这是找死的节奏。

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2014-03-14 06:00:13
22#
发表于 2015-1-4 22:56 | 只看该作者
jinaqu 发表于 2015-1-4 15:12
好的,谢谢

我觉得还是加hint 比较好,在表上家并行度的话,也影响以后的查询。还有看看索引能不能用到,count(*) y用索引有的时候也很快

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
23#
发表于 2015-1-5 05:41 | 只看该作者
不用太准就人工刷新物化视图

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-11-11 06:00:15沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
24#
 楼主| 发表于 2015-1-5 09:20 | 只看该作者
li0924 发表于 2015-1-4 16:37
分区表查询不带分区条件;这是找死的节奏。

根据时间分区撒,每个月都有大量的数据产生

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-11-11 06:00:15沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
25#
 楼主| 发表于 2015-1-5 09:21 | 只看该作者
bfc99 发表于 2015-1-4 16:35
如果你是用select count(*) from 表,实际上分区表会比没有分区表的更慢。但如果你是用select count(*) fro ...

哦哦,这样啊!基本上不加分区条件,基本等于找死,出不来结果的

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-11-11 06:00:15沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
26#
 楼主| 发表于 2015-1-5 09:21 | 只看该作者
li0924 发表于 2015-1-4 16:37
分区表查询不带分区条件;这是找死的节奏。

哈哈,嗯嗯,是这样的,要加分区条件,不然根本没结果的

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-11-11 06:00:15沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
27#
 楼主| 发表于 2015-1-5 09:24 | 只看该作者
yezhizi_weixb 发表于 2015-1-4 22:56
我觉得还是加hint 比较好,在表上家并行度的话,也影响以后的查询。还有看看索引能不能用到,count(*) y用 ...

因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Oracle提供给DBA用来分析问题的工具 。在SQL代码中使用Hint,可能导致非常严重的后果,因为数据库的数据是变化的,在某一时刻使用这个执行计划是最优的,在另一个时刻,却可能很差,这也是CBO 取代RBO的原因之一,规则是死的,而数据是时刻变化的,为了获得最正确的执行计划,只有知道表中数据的实际情况,通过计算各种执行计划的成本,则其最优,才是最科学的,这也是CBO的工作机制。 在SQL代码中加入Hint,特别是性能相关的Hint是很危险的做法。

关于Oracle Hint的用法我看了http://blog.csdn.net/tianlesoftware/article/details/4969702,可能不适合我,我是开发这一块的,这个应该用不了,非常感谢你的提醒,涨知识了

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-11-11 06:00:15沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
28#
 楼主| 发表于 2015-1-5 09:26 | 只看该作者
〇〇 发表于 2015-1-5 05:41
不用太准就人工刷新物化视图

每天都要跑一次的,这里主要的用途是先验证数量级一致,物化视图的话,咋搞呢?求解。。。

使用道具 举报

回复
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
29#
发表于 2015-1-5 09:33 | 只看该作者
麻烦把你的查询需求和原始查询语句贴一下,另外把表的索引信息贴一下看看

使用道具 举报

回复
求职 : 数据库开发
论坛徽章:
29
ITPUB学员
日期:2009-10-14 18:49:45至尊黑钻
日期:2015-12-31 11:11:56数据库板块每日发贴之星
日期:2009-10-22 01:01:02优秀写手
日期:2014-04-30 06:00:17ITPUB8周年纪念徽章
日期:2009-10-09 21:30:10秀才
日期:2017-05-17 11:39:09马上有车
日期:2014-10-09 10:14:53马上有钱
日期:2014-02-18 16:43:09路虎
日期:2013-10-15 15:38:59林肯
日期:2013-09-12 15:57:33
30#
发表于 2015-1-5 09:34 | 只看该作者
试试增加数据块的大小

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表