Capítulo 3: Editor SQL y Ejecución de Consultas
Información: Este capítulo explica los mecanismos de protección de memoria del editor SQL, la cancelación no bloqueante de consultas y las compuertas de seguridad para prevenir pérdidas de datos en entornos de producción.
En este capítulo:
- 3.1 Protección de memoria (Flujo acotado)
- 3.2 Cancelación de consultas
- 3.3 Compuertas de seguridad para entornos en vivo
- 3.4 Resultados, transacciones y SQL reutilizable
- 3.5 Atajos de teclado frecuentes
- Temas relacionados
3.1 Protección de memoria (Flujo acotado)
Al ejecutar una consulta masiva como SELECT * FROM dev_table, las herramientas convencionales intentan volcar todo el conjunto de resultados a la memoria RAM de una vez, congelando el sistema operativo. SQLOZ erradica este problema mediante Transmisión Acotada de Consultas (Bounded Query Streaming).
Cómo opera:
- Se recuperan únicamente 1.000 filas (o el límite configurado) de la base de datos por lote.
- A medida que el usuario se desplaza verticalmente, se descargan nuevos bloques de forma asíncrona en segundo plano.
- Aunque la tabla almacene decenas de millones de registros, no se produce ningún desbordamiento de memoria (Out-of-Memory) y el uso de RAM permanece invariable.
Consejo: Combinado con la Cuadrícula acotada (Bounded Grid), este mecanismo permite examinar volúmenes gigantescos con total fluidez. Consulte el Capítulo 4.
3.2 Cancelación de consultas
Una consulta mal optimizada puede extenderse indefinidamente o saturar los núcleos del servidor. La interfaz nativa de SQLOZ nunca se bloquea en esta circunstancia.
- Pulse el botón rojo Detener (⏹) en la barra de herramientas o utilice el atajo
Cmd + .. - SQLOZ emite de inmediato la señal de interrupción por socket correspondiente al motor conectado (
mysql_free_result,PQcancel,sqlite3_interrupt). - La sentencia en ejecución sobre el servidor queda cancelada en cuestión de milisegundos.
3.3 Compuertas de seguridad para entornos en vivo
Bloqueo de sesión en solo lectura
Para evitar modificaciones fortuitas al auditar bases de datos en producción, el editor puede fijarse en modo estricto de solo lectura.
- Haga clic en el icono del Candado de Solo Lectura (🔒) en la esquina inferior derecha del editor.
- Mientras este modo permanezca activado, las sentencias
INSERT,UPDATE,DELETE,DROPyALTERson interceptadas en la capa cliente y rechazadas antes de llegar a la red.
Advertencia: En modo solo lectura, la aplicación advierte: “Modo de solo lectura activo: La sesión actual restringe modificaciones. Las sentencias destructivas han sido bloqueadas.”
Compuerta para UPDATE/DELETE sin cláusula WHERE
Uno de los errores humanos más graves en administración de bases de datos consiste en omitir la condición WHERE en un UPDATE o DELETE. SQLOZ detecta sentencias sin filtro y exige una confirmación expresa:
Importante: No se ha detectado ninguna cláusula
WHEREen esta consultaDELETE FROM customer_logs. Esta operación purgará la totalidad de la tabla. ¿Desea continuar? [Cancelar] [Ejecutar de todos modos]
- Cancelar: La ejecución se detiene instantáneamente y la integridad de los datos se preserva.
- Ejecutar de todos modos: Permite continuar únicamente si la acción es plenamente deliberada.
3.4 Resultados, transacciones y SQL reutilizable
Cada pestaña del editor cuenta con un panel inferior dividido en vistas de Resultados, Mensajes e Información. Los scripts con múltiples sentencias desglosan cada ejecución de forma independiente, preservando advertencias y detalles de rendimiento.
Los controles transaccionales de la barra de estado facilitan iniciar (BEGIN), consolidar (COMMIT) o revertir (ROLLBACK) transacciones con soporte completo para puntos de guardado (Savepoints).
Mediante Favoritos → Organizar favoritos… es posible catalogar fragmentos y scripts .sql reutilizables en carpetas estructuradas.
3.5 Atajos de teclado frecuentes
Atajos fundamentales para mantener la agilidad operativa:
| Atajo | Función |
|---|---|
Cmd + Enter | Ejecuta la consulta seleccionada o la línea bajo el cursor |
Cmd + . | Cancela de inmediato la consulta en ejecución |
Cmd + Shift + F | Formatea el código SQL (sangría y saltos de línea) |
Cmd + / | Comenta o descomenta las líneas seleccionadas con -- |
