Oracle Analyze Table命令

Vic*_*tor 3 oracle oracle11g

命令Analyze table tbl compute statistics是DDL还是DML?直觉上,它似乎都不是.当我在.sql文件中有此命令时,我需要这样做:

execute immediate 'Analyze table tbl compute statistics'
Run Code Online (Sandbox Code Playgroud)

我对这个命令有一个熟悉的问题: GRANT DELETE, INSERT, SELECT, UPDATE ON tbl to user

Sha*_*nce 6

UPDATE甲骨文,这两个grantanalyze的数据定义语言(DDL)语句.他们显然没有区分DDL和数据控制语言(DCL).

如果在PL/SQL中执行,则需要DBMS_SQLexecute immediateDBMS_SQL.

另外," 不要使用ANALYZE的COMPUTE和ESTIMATE子句来收集优化器统计信息. "(10gR2)" 对于大多数统计信息的收集,请使用DBMS_STATS包....使用ANALYZE语句(而不是DBMS_STATS)进行统计信息收集与基于成本的优化器无关. "(11g R2)不适Analyze table用于收集优化器统计信息,但对其他事情仍然有用.请改用DBMS_STATS.(我链接到10g R2的在线Oracle文档.但是过去几天我在Oracle的文档站点遇到了麻烦,10g R2文档消失然后重新出现.)