Hay veces que cambias de Sistema Gestor de Bases de Datos por necesidades del guión. Siempre hay consultas útiles que tiendes a buscar una y otra vez, y reutilizarlas hasta la saciedad.
A mí me pasa con las siguientes en SQL Server (Transact-SQL):
Mira las últimas queries ejecutadas y el tiempo en segundos y número de filas afectadas
SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query], total_worker_time/1000000 as [Segundos], total_rows as [Filas] FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest ORDER BY [FILAS] DESC;
Últimas QUERIES y USUARIOS
SELECT conn.session_id, sson.host_name, sson.login_name, sqltxt.text, sson.login_time, sson.status FROM sys.dm_exec_connections conn INNER JOIN sys.dm_exec_sessions sson ON conn.session_id = sson.session_id CROSS APPLY sys.dm_exec_sql_text(most_recent_sql_handle) AS sqltxt;
Reiniciar índices en tabla (por ejemplo, después de vaciarla).
DBCC CHECKIDENT (***NOMBRE_TABLA***, reseed, 0);
Esto último lo he visto con reseed a 0 y a 1. Creo que lo correcto es a 0, porque el siguiente id será el 1.
Además, podemos querer ordenar en orden natural los resultados. A veces con un ORDER BY no nos sirve. Por ejemplo si la longitud es distinta y ordenamos un campo varchar nos llegaría a salir la ordenación de los datos 2, 1, 122, 222, como:
1
122
2
222
Esto está claramente mal, para este caso podemos usar:
ORDER BY LEN(nombre_columna), nombre_columna;
Y así obtendremos los resultados ordenados de la siguiente manera:
1
2
122
222