楼主: jinaqu

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

[复制链接]
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
11#
发表于 2015-1-4 15:13 | 只看该作者
怎么搞都快不了,建索引吧

使用道具 举报

回复
论坛徽章:
17
2009日食纪念
日期:2009-07-22 09:30:00马上有车
日期:2014-12-25 09:26:21奥运会纪念徽章:马术
日期:2012-09-06 17:58:19奥运会纪念徽章:举重
日期:2012-08-17 11:49:28奥运会纪念徽章:花样游泳
日期:2012-08-11 17:43:33奥运会纪念徽章:帆船
日期:2012-07-19 19:26:52奥运会纪念徽章:现代五项
日期:2012-06-25 11:12:17奥运会纪念徽章:游泳
日期:2012-06-13 11:58:41灰彻蛋
日期:2012-06-12 15:30:12茶鸡蛋
日期:2012-06-11 16:16:43
12#
发表于 2015-1-4 15:17 | 只看该作者
看看是哪部分慢再说。如果是IO本身不行,开并行也不会快。

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-11-11 06:00:15沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
13#
 楼主| 发表于 2015-1-4 15:17 | 只看该作者
Can't use
parallel query
parallel dml
parallel ddl
。。。。。
直接被DBA给否了,不准用,数据库并发性本身是比较高的,这样太不安全了,,,,,有没更好的办法。。。

使用道具 举报

回复
论坛徽章:
126
ITPUB元老
日期:2007-07-04 17:27:50会员2007贡献徽章
日期:2007-09-26 18:42:10现任管理团队成员
日期:2011-05-07 01:45:08优秀写手
日期:2015-01-09 06:00:14版主7段
日期:2015-07-16 02:10:00
14#
发表于 2015-1-4 15:24 | 只看该作者
jinaqu 发表于 2015-1-4 15:17
Can't use
parallel query
parallel dml

如果你目前的系统是OLTP的,那使用并行副作用非常大, 毕竟并行是对于OLAP系统的。
你目前的问题非常麻烦,不是语句的问题,也不是建个index(对于分区字段建index完全没有), 你还是把这个问题和你manager说明一下, 这种问题不是你的问题

使用道具 举报

回复
论坛徽章:
17
2009日食纪念
日期:2009-07-22 09:30:00马上有车
日期:2014-12-25 09:26:21奥运会纪念徽章:马术
日期:2012-09-06 17:58:19奥运会纪念徽章:举重
日期:2012-08-17 11:49:28奥运会纪念徽章:花样游泳
日期:2012-08-11 17:43:33奥运会纪念徽章:帆船
日期:2012-07-19 19:26:52奥运会纪念徽章:现代五项
日期:2012-06-25 11:12:17奥运会纪念徽章:游泳
日期:2012-06-13 11:58:41灰彻蛋
日期:2012-06-12 15:30:12茶鸡蛋
日期:2012-06-11 16:16:43
15#
发表于 2015-1-4 15:35 | 只看该作者
能把你们想要什么以及现在是怎么做的说明一下吗?
只是优化count(*)  240亿的数据,这个需求没什么意义。
没有场景支持,理论上可能让这个SQL在0.1秒以内出结果,但这有什么意义?

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
16#
发表于 2015-1-4 15:36 | 只看该作者
1.将分区拆为天的子分区,这样一个分区的数据瞬间变成30个子分区的和,如果指定子分区查询,如果资源允许,速度你懂的
2.可以考虑将分区适当的放到不同的表空间
3.可以考虑建全局索引和局部分区索引


如果以上你都没有权限整的话,找你领导吧,搞不定。20亿数据,你懂的

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
17#
发表于 2015-1-4 15:36 | 只看该作者
而且我感觉你这个应该是个olap系统吧。。。

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-11-11 06:00:15沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
18#
 楼主| 发表于 2015-1-4 15:37 | 只看该作者
dla001 发表于 2015-1-4 15:35
能把你们想要什么以及现在是怎么做的说明一下吗?
只是优化count(*)  240亿的数据,这个需求没什么意义。
...

验证数据的准确性,首先确认数量级的准确性

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-11-11 06:00:15沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
19#
 楼主| 发表于 2015-1-4 15:38 | 只看该作者
index是有的

使用道具 举报

回复
论坛徽章:
40
2014年新春福章
日期:2014-02-18 16:43:09喜羊羊
日期:2015-05-18 16:24:25慢羊羊
日期:2015-06-12 13:08:22暖羊羊
日期:2015-07-02 16:06:20暖羊羊
日期:2015-07-06 16:28:55狮子座
日期:2015-07-29 17:14:43摩羯座
日期:2015-09-02 13:58:47白羊座
日期:2015-09-08 10:39:06天枰座
日期:2015-09-17 21:41:53摩羯座
日期:2015-10-29 21:07:02
20#
发表于 2015-1-4 16:35 | 只看该作者
如果你是用select count(*) from 表,实际上分区表会比没有分区表的更慢。但如果你是用select count(*) from 表 where 分区键条件;来查,这时才能发挥分区表的优势。

使用道具 举报

回复

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

本版积分规则 发表回复

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