oracle如何查看哪些表数据增长较快
时间: 2023-08-11 17:04:16 浏览: 42
你可以通过以下语句查询哪些表数据增长较快:
```
SELECT table_name, num_rows, last_analyzed, round((num_rows - (select num_rows from all_tables where table_name = a.table_name and owner = a.owner)) / (select num_rows from all_tables where table_name = a.table_name and owner = a.owner) * 100,2) "Increase Rate"
FROM all_tables a
WHERE owner = 'YOUR_SCHEMA_NAME'
ORDER BY 4 DESC;
```
其中,'YOUR_SCHEMA_NAME'替换为你要查询的模式名称。这个SQL语句将列出所有表的名称、行数、上次分析时间和增长率百分比。根据增长率百分比,你可以找出哪些表数据增长较快。
相关问题
oracle查看表空间增长过快原因
表空间增长过快可能有多种原因,以下是一些可能的原因:
1. 数据增长:表空间中的数据增长可能是引起表空间增长的最常见原因。如果数据量增加得很快,表空间也会随之增长。
2. 索引增长:索引也会占用表空间,在索引增长的情况下,表空间也会增长。
3. 回滚段增长:如果您的数据库经常进行大量的回滚操作,则回滚段也会增长,从而导致表空间增长。
4. 临时表空间增长:如果您的数据库使用了临时表空间,则临时表空间可能会增长。
5. 段增长:如果您的数据库中的一个段增长得太快,那么它将导致表空间增长。
您可以通过查看数据字典视图来确定表空间中的哪些对象正在增长。例如,使用以下查询可以查找表空间中增长最快的对象:
```
SELECT owner, segment_name, segment_type, bytes
FROM dba_segments
WHERE tablespace_name = '<tablespace_name>'
ORDER BY bytes DESC;
```
此外,您可以使用 Oracle 的监视工具来监视表空间的增长情况,包括使用 Oracle Enterprise Manager 或自定义的脚本。
Oracle 查询数据量增长快的表
你可以使用以下SQL查询来查找数据量增长快的表:
```
SELECT table_name, num_rows, AVG_ROW_LEN, (num_rows*AVG_ROW_LEN) AS table_size
FROM all_tables
WHERE owner='your_schema_name'
ORDER BY (num_rows*AVG_ROW_LEN) DESC;
```
该查询将返回一个表列表,按表大小(以字节为单位)进行排序。你可以使用此列表来确定哪些表增长最快。
请注意,该查询基于num_rows和AVG_ROW_LEN列的值来计算表的大小。这些值可能不是完全准确的,因为它们是基于统计信息收集的估计值。因此,该查询只能提供有限的信息,并且可能需要进行进一步的分析和调查。