select TABLE_NAME
from user_tables
where REGEXP_LIKE(TABLE_NAME ,'^' || #{tablePrefix} || '[0-9]+$')
ORDER BY TABLE_NAME DESC
OFFSET 0 Row FETCH NEXT 1 ROWS ONLY
sql 如上 查询时间20s 作用是 查询最新的天表 有什么办法优化
select TABLE_NAME
from user_tables
where REGEXP_LIKE(TABLE_NAME ,'^' || #{tablePrefix} || '[0-9]+$')
ORDER BY TABLE_NAME DESC
OFFSET 0 Row FETCH NEXT 1 ROWS ONLY
sql 如上 查询时间20s 作用是 查询最新的天表 有什么办法优化
还需要了解一点信息
分析:
另外,可以尝试下面这个sql,但是可能需要对用到的两个表进行查询授权
select NAME
from sys.obj$
WHERE TYPE# = 2
AND OWNER# = (SELECT USER# FROM sys.user$ u WHERE NAME = USER)
AND REGEXP_LIKE(NAME ,'^' || #{tablePrefix}|| '[0-9]+$')
ORDER BY NAME DESC
OFFSET 0 Row FETCH NEXT 1 ROWS ONLY
这个是把视图拆开,只获取必要信息,减少了user_tables视图中的很多逻辑