查看: 4874|回复: 13

很折磨人的SQL优化(简记)

[复制链接]
论坛徽章:
14
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52沸羊羊
日期:2015-03-04 14:43:43马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11福特
日期:2013-10-14 21:18:25凯迪拉克
日期:2013-09-23 23:01:572013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412011新春纪念徽章
日期:2011-02-18 11:43:33
发表于 2011-12-24 22:37 | 显示全部楼层 |阅读模式
本帖最后由 spider0283 于 2011-12-25 11:06 编辑

今天继续搞那一卡通 DB的SQL


折腾了一天,简单记下,等周一再补齐


1、干掉一个5900万笔记录的表上一个Distinct_key值只有36的索引,加快每天对这个表一次性插入约60万笔记录SQL的速度


2、在那个向5900万笔记录的表每日一次性插入60万笔记录的INSET SQL上,加入/*+append*/  Hint,使Insert变成直接路径插入


3、这个5900万笔记录的人员消费明细表最后还要按部门Group BY一下当月数据,insert进部门消费月报表。但5900万的表上月份代码字段的索引(Distinct Key 36)
被干掉,现在Select Group By 这个Table时无法走月份代码字段的索引,执行计划出现了全表扫,物理读有101万。改写这个Insert SQL,改以当前月份Code限制为
当前月份的时间段限制,Insert时就能选中相应的时间索引,物理读是原来的1/6。


原:code='2011-12' (走月份代码字段的索引)  --->新: sdate >=to_date('2011/12/01','yyyy/mm/dd')  and sdate <=to_date('2011/12/31','yyyy/mm/dd') (走sdate索引)


这BT的开发,每天都要重复生成前7天的人员消费表明细和部门消费月报表明细



论坛徽章:
9
蛋疼蛋
日期:2011-10-18 11:00:17ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51蜘蛛蛋
日期:2011-11-09 13:48:06迷宫蛋
日期:2011-11-24 10:38:342012新春纪念徽章
日期:2012-01-04 11:56:44蜘蛛蛋
日期:2013-07-12 21:52:36凯迪拉克
日期:2013-12-12 09:53:072014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
发表于 2011-12-25 13:16 | 显示全部楼层
group by (Distinct Key 36) 这个可以建bitmap索引吧,你是一次性插入数据,这个也不影响insert

使用道具 举报

回复
求职 : 数据库管理员
认证徽章
论坛徽章:
45
2011新春纪念徽章
日期:2011-02-18 11:43:322014年新春福章
日期:2014-04-14 09:54:08马上有对象
日期:2014-03-20 10:10:18马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02技术图书徽章
日期:2014-01-24 10:11:16兰博基尼
日期:2013-12-11 10:38:11ITPUB社区12周年站庆徽章
日期:2013-11-07 10:34:33ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:592014年新春福章
日期:2014-04-14 09:54:08
发表于 2011-12-25 13:32 | 显示全部楼层
关注。。。。

使用道具 举报

回复
招聘 : 数据库管理员
认证徽章
论坛徽章:
20
祖国60周年纪念徽章
日期:2009-10-09 08:28:00数据库板块每日发贴之星
日期:2011-02-20 01:01:01ITPUB季度 技术新星
日期:2011-04-02 10:31:09ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:54:26玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:192013年新春福章
日期:2013-02-25 14:51:242011新春纪念徽章
日期:2011-02-18 11:43:33
发表于 2011-12-25 14:39 | 显示全部楼层
sql  tunning一直是我的硬伤

使用道具 举报

回复
论坛徽章:
30
ITPUB9周年纪念徽章
日期:2010-10-08 09:32:26ITPUB社区12周年站庆徽章
日期:2013-08-20 11:30:112014年新春福章
日期:2015-02-15 15:44:42马上有钱
日期:2015-02-15 15:44:422014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:092014年世界杯参赛球队: 伊朗
日期:2014-07-24 11:02:53马上有钱
日期:2014-07-24 17:39:10蓝锆石
日期:2015-02-03 13:52:43喜羊羊
日期:2015-02-15 15:15:45
发表于 2011-12-25 19:05 | 显示全部楼层
期待楼主的总结,总结是个学习的好方法!

使用道具 举报

回复
认证徽章
论坛徽章:
86
秀才
日期:2015-09-21 09:46:16目光如炬
日期:2014-07-28 06:00:03马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:422014年世界杯参赛球队: 伊朗
日期:2014-06-13 11:29:242014年世界杯参赛球队:巴西
日期:2014-06-06 14:36:14马上有钱
日期:2014-04-04 13:51:21马上加薪
日期:2014-04-04 13:35:40马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02
发表于 2011-12-26 07:34 | 显示全部楼层
呵呵,期待很真实的案例

使用道具 举报

回复
论坛徽章:
1
2012新春纪念徽章
日期:2012-01-04 11:54:46
发表于 2011-12-26 09:00 | 显示全部楼层
SQL tuning ,really hard.

使用道具 举报

回复
论坛徽章:
1108
玉兔
日期:2012-05-03 14:35:17紫蜘蛛
日期:2012-05-03 14:35:17嫦娥
日期:2012-05-03 14:35:17红孩儿
日期:2012-05-03 14:35:17蓝色妖姬
日期:2012-05-03 14:35:17NBA大富翁
日期:2012-01-03 20:40:15海蓝宝石
日期:2012-12-21 15:48:432013年新春福章
日期:2013-07-22 15:32:38操作系统板块每日发贴之星
日期:2012-01-12 16:10:37铜牌徽章
日期:2012-11-06 13:17:03
发表于 2011-12-26 09:27 | 显示全部楼层
关注。。。。

使用道具 举报

回复
论坛徽章:
289
蛋疼蛋
日期:2013-03-29 13:46:58优秀写手
日期:2013-12-24 06:00:12福特
日期:2014-02-17 17:30:59生肖徽章:兔
日期:2012-05-24 19:03:36SQL极客
日期:2013-12-09 14:13:35ITPUB季度 技术新星
日期:2014-02-24 11:00:06IT宝贝
日期:2014-08-27 10:32:17马上加薪
日期:2014-08-05 09:18:33SQL数据库编程大师
日期:2016-01-13 10:30:43玉石琵琶
日期:2014-03-04 16:46:07
发表于 2011-12-26 09:52 | 显示全部楼层
关注,原先的设计就又问题

使用道具 举报

回复
论坛徽章:
10
ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:082013年新春福章
日期:2013-02-25 14:51:24灰彻蛋
日期:2013-01-10 11:04:47ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:002012新春纪念徽章
日期:2012-02-07 09:59:352012新春纪念徽章
日期:2012-01-04 11:58:18鲜花蛋
日期:2011-11-21 00:02:23马上加薪
日期:2014-04-30 16:46:19
发表于 2011-12-26 11:23 | 显示全部楼层
经常使用的表,建立bitmap索引,会整死人的。。。

使用道具 举报

回复

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

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

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