【发布时间】:2020-11-10 00:52:18
【问题描述】:
我正在使用 Oracle 数据库。这三个查询有什么区别?
select NUM_ROWS from ALL_TABLES where OWNER = 'ME' and TABLE_NAME = 'MY_TABLE'
select count(*) from ME.MY_TABLE
select count(PRIMARY_KEY) from ME.MY_TABLE
对于一个有 8500 万行的大表,ALL_TABLES 查询需要 2 毫秒。 count(*) 和 count(PRIMARY_KEY) 需要 5 秒。
附带问题:为什么 Oracle 数据库不使用 ALL_TABLES 代替 count(*) 或 count(PRIMARY_KEY)?
【问题讨论】:
标签: sql database oracle count information-schema