显示活动会话 / 正在运行的查询
Oracle
SELECT sid, serial#, username, status, sql_id, machine, program
FROM v$session
WHERE type = 'USER' AND status = 'ACTIVE';v$session 提供当前活动会话。如需完整 SQL 文本,按 sql_id 关联 v$sql。
PostgreSQL
SELECT pid, usename, state, wait_event_type, query
FROM pg_stat_activity
WHERE state <> 'idle';state = 'active' 显示当时正在执行查询的会话。可根据 backend_start / query_start 计算持续时间。
MySQL
SELECT id, user, host, db, command, time, state, info
FROM information_schema.processlist
WHERE command <> 'Sleep';
-- Shortcut: SHOW FULL PROCESSLIST;在 MySQL 8 / MariaDB 上,performance_schema.processlist 持有的锁更少。
SQL Server
SELECT r.session_id, s.login_name, r.status, r.command,
r.cpu_time, r.total_elapsed_time, t.text AS sql_text
FROM sys.dm_exec_requests r
JOIN sys.dm_exec_sessions s ON r.session_id = s.session_id
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t
WHERE s.is_user_process = 1;快速查看:EXEC sp_who2 'active';
MongoDB
db.currentOp({ "active": true })筛选长时间运行的操作:db.currentOp({ active: true, secs_running: { $gt: 5 } })
Redis
CLIENT LIST
# For a summary: INFO clients由于 Redis 是单线程的,这里列出的是已连接的客户端,而不是“正在运行的查询”。慢命令请使用 SLOWLOG GET。