0% encontró este documento útil (0 votos)
4 vistas3 páginas

01 Guia SQL Oracle

La guía práctica de SQL para Oracle cubre fundamentos, consultas, optimización y administración en bases de datos Oracle. Se detallan estructuras de consultas, el uso de funciones de agregación, técnicas de optimización y diagnóstico mediante vistas dinámicas. Incluye ejemplos prácticos para mejorar el rendimiento y gestionar sesiones activas.

Cargado por

Javier Valdez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas3 páginas

01 Guia SQL Oracle

La guía práctica de SQL para Oracle cubre fundamentos, consultas, optimización y administración en bases de datos Oracle. Se detallan estructuras de consultas, el uso de funciones de agregación, técnicas de optimización y diagnóstico mediante vistas dinámicas. Incluye ejemplos prácticos para mejorar el rendimiento y gestionar sesiones activas.

Cargado por

Javier Valdez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Guía Práctica de SQL para Oracle

Consultas, optimización y administración

1. Fundamentos de SQL en Oracle


Oracle Database es uno de los sistemas de gestión de bases de datos relacionales más utilizados en
entornos empresariales. Su dialecto SQL incluye extensiones propietarias que amplían las capacidades
del estándar ANSI SQL, como el uso de secuencias, hints de optimización y funciones analíticas
avanzadas.

1.1 Estructura básica de una consulta SELECT


SELECT columna1, columna2
FROM [Link]
WHERE condicion
ORDER BY columna1 ASC;

1.2 Uso de ROWNUM y FETCH FIRST


En Oracle 11g se utiliza ROWNUM para limitar filas. En versiones 12c+ se puede usar FETCH FIRST n
ROWS ONLY, pero en 11g la técnica estándar es mediante subconsulta:
SELECT * FROM (
SELECT t.*, ROWNUM rn FROM tabla t WHERE condicion
) WHERE rn <= 10;

2. Consultas con UNION ALL


UNION ALL permite combinar resultados de múltiples tablas con la misma estructura sin eliminar
duplicados, lo que la hace más eficiente que UNION cuando se sabe que no existen filas repetidas entre
conjuntos.
SELECT id, estado, fecha FROM tabla_pendientes
UNION ALL
SELECT id, estado, fecha FROM tabla_procesados
UNION ALL
SELECT id, estado, fecha FROM tabla_dormidos
ORDER BY fecha DESC;

3. Funciones de Agregación más comunes


Función Descripción Ejemplo

COUNT(*) Cuenta todas las filas COUNT(*) total

SUM(col) Suma valores numéricos SUM(monto)

AVG(col) Promedio de valores AVG(precio)

MAX(col) Valor máximo MAX(fecha)

MIN(col) Valor mínimo MIN(fecha)

LISTAGG Concatena cadenas agrupadas LISTAGG(nombre, ',')


4. Optimización de Consultas
Para mejorar el rendimiento en tablas grandes es fundamental: utilizar índices en las columnas filtradas
en WHERE, evitar funciones sobre columnas indexadas, usar hints como /*+ INDEX(tabla idx_nombre) */
cuando el optimizador no selecciona el índice correcto, y analizar el plan de ejecución con EXPLAIN
PLAN.

Ejemplo con hint de índice:


SELECT /*+ INDEX(m IDX_MSG_FECHA) */
m.id_negocio, [Link], m.fecha_creacion
FROM sat_sad.msg_pendientes_consumidor m
WHERE m.fecha_creacion >= SYSDATE - 30
AND [Link] = 'P';
5. Diagnóstico con Vistas Dinámicas
Oracle expone información de rendimiento a través de vistas dinámicas del diccionario de datos (prefijo
V$). Las más útiles para diagnóstico son:
Vista Información que provee

V$SESSION Sesiones activas y sus estados

V$SQL Consultas en memoria y estadísticas

V$SQLAREA Texto y métricas de SQLs ejecutados

V$LOCKED_OBJECT Objetos bloqueados actualmente

DBA_SEGMENTS Tamaño de tablas e índices

DBA_INDEXES Índices definidos por esquema

5.1 Sesiones activas por usuario


SELECT username, status, COUNT(*) sesiones
FROM v$session
WHERE type = 'USER'
GROUP BY username, status
ORDER BY sesiones DESC;

También podría gustarte