![]() |
1
2
“有没有办法在很大比例的数据发生更改时触发此作业?” 理论上,您可以在一个表上执行一个after-insert触发器,该触发器自动设置DBMS U状态。 但是要小心你想要的。如果您正处于一个大型ETL作业的中间,刚刚向表中插入了一百万行,则不一定希望立即自动启动DBMS_Stats作业。同样,当你处于最繁忙的在线处理时间(如午餐)时,你不想通过同时收集统计数据来降低速度。 您通常希望这些统计信息收集在低使用时间段(晚上、周末)运行的作业。如果您有一个加载到许多表中的大型批处理运行,那么我将在该批处理中构建DBMS_状态。 |
![]() |
2
5
您使用的是什么版本的Oracle?从10.1开始,Oracle提供了一个自动作业,该作业每天晚上收集任何实质性更改的对象的统计数据(基于可能更改的内部算法,但我相信阈值大约为15%),因为上次收集统计数据。假设您使用的是当前支持的版本,除非您显式禁用该作业,否则默认情况下将自动收集统计信息。
你可以使用
你可以让它异步运行
|
![]() |
maddy · 如何根据oracle SQL中的某一列值进行排名 1 年前 |
![]() |
kiric8494 · 显示以元音开头和结尾的城市名称 2 年前 |
![]() |
Franz Biberkopf · Oracle:组合子查询和聚合函数 2 年前 |
![]() |
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 2 年前 |
![]() |
Arifullah · 如何从oracle中的列中删除特定的初始字符? 2 年前 |
![]() |
Anar · Oracle SQL用户定义函数 2 年前 |
![]() |
user1312312 · 如何为一组表编写通用触发器? 2 年前 |