oracle 抽样_oracle优化手段--统计信息导出和抽样提取数据

11月份参加了Oracle嘉年华,分享心得一则:

我们经常会遇到这样的情况,生产环境一段SQL非常慢,而我们又没有生产的操作权限,这时候怎么办?

很多时候我们会选择在测试环境进行测试,但由于环境的不同(表结构、数据、参数、统计信息等)必然无法每次都能完全的重现问题。

这时候我们可以把数据导一份到测试环境,但又会遇到另一个问题:生产环境的数据量太大,由于测试环境表空间限制,或者其他原因,导致10几张千万级甚至上亿的表无法同步到测试环境。

即便我们申请到各种资源,各方都配合,把表同步到测试环境,也有可能出现统计信息不一致,而导致无法重现性能问题的情况。

这时候,怎么破?

刚刚上面一大段话提出几个问题:生产环境没有操作权限

由于环境问题,无法重现问题

生产环境数据量过大

统计信息不一致

这里我说下几个问题的解决方案:生产环境没有操作权限 ---到测试环境定位问题

由于环境数据分布等问题,无法重现问题  ---导入生产数据

生产环境数据量过大  ---使用sample抽样提取一定百分比的数据

统计信息不一致  ---导出生产统计信息,导入到测试环境

第一和第二个问题都比较简单,也好理解

第三个问题

是我们经常遇到的,几亿的数据量,全部导回是难以得到DBA的配合的,如果选择只导出10%或者1%的数据量,则会好很多

但是我们如何选取这10%的数据呢?

一、 使用rownumSQL> cr

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值