Oracle里的统计信息
在Oracle数据库中,可以使用DBA_TAB_STATISTICS
视图来查看某个用户下所有表的统计信息,例如最后统计时间、行数等。如果你想要查看特定用户下所有表的统计信息,可以使用以下SQL语句:
SELECT table_name, last_analyzed, num_rows
FROM dba_tab_statistics
WHERE owner = '用户名';
将'用户名'
替换为你想要查询的用户名。
如果你想要更新统计信息,可以使用DBMS_STATS.GATHER_TABLE_STATS
过程:
BEGIN
DBMS_STATS.GATHER_TABLE_STATS(
ownname => '用户名',
tabname => '表名',
cascade => TRUE,
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
method_opt => 'FOR ALL COLUMNS SIZE AUTO');
END;
/
将'用户名'
和'表名'
替换为相应的用户和表名称。cascade => TRUE
表示同时更新索引统计信息,estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE
会让Oracle自动决定采样大小,method_opt => 'FOR ALL COLUMNS SIZE AUTO'
表示对所有列使用自动统计。
请确保执行这些操作时具有适当的权限,通常需要DBA权限。
评论已关闭