ORACLE常用示例及慢查询总结
在日常工作中,大部分项目采用的是ORACLE作为数据库支撑,下面总结日常需要用到的一些比较实用的查询,后续会不断补充,感兴趣的小伙伴可以留言好用的查询语句,与君共勉。
数据库表字段主键序列号
可结合时间戳,实现主键唯一
此方案不推荐
占用数据库连接
影响数据库性能
create sequence TABLE_NAME_SEQUENE
maxvalue 999999
cycle
cache 5000
推荐方案
依赖分布式锁实现主键获取的功能
性能好,可扩展性强,降低数据库压力
查询执行缓慢的SQL
select *
from (select sa.SQL_TEXT,
sa.SQL_FULLTEXT,
sa.EXECUTIONS "执行次数",
round(sa.ELAPSED_TIME / 1000000, 2) "总执行时间",
round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS, 2) "平均执行时间",
sa.COMMAND_TYPE,
sa.PARSING_USER_ID "用户ID",
u.username "用户名",
sa.HASH_VALUE
from v$sqlarea sa
left join all_users u
on sa.PARSING_USER_ID = u.user_id
where sa.EXECUTIONS > 0
order by (sa.ELAPSED_TIME / sa.EXECUTIONS) desc)
where rownum <= 10;