Chapitre 3 : Éditeur SQL et Exécution des Requêtes
Info : Ce chapitre explique comment l’éditeur SQL assure la protection de la mémoire, l’annulation non bloquante des requêtes et les garde-fous empêchant la perte de données en production.
Dans ce chapitre :
- 3.1 Protection de la mémoire (Flux délimité)
- 3.2 Annulation de requête
- 3.3 Garde-fous pour environnements de production
- 3.4 Résultats, transactions et SQL réutilisable
- 3.5 Raccourcis fréquemment utilisés
- Sujets connexes
3.1 Protection de la mémoire (Flux délimité)
Lors de l’exécution d’une requête telle que SELECT * FROM dev_table, les outils traditionnels tentent de charger la totalité du jeu de résultats en mémoire vive, ce qui peut paralyser le système. SQLOZ évite cela grâce au Streaming Délimité de Requête (Bounded Query Streaming).
Fonctionnement :
- Seules 1 000 lignes (ou votre limite personnalisée) sont extraites de la base à la fois.
- Au fur et à mesure du défilement, de nouveaux blocs sont diffusés de façon asynchrone en arrière-plan.
- Même si la table contient des millions de lignes, aucun incident de mémoire insuffisante (Out-of-Memory) ne se produit et la consommation de RAM reste stable.
Astuce : Associé à la Grille délimitée (Bounded Grid), ce mécanisme permet de travailler sereinement sur des volumes massifs. Voir Chapitre 4.
3.2 Annulation de requête
Une requête peut accidentellement s’avérer trop lente ou saturer les ressources du serveur. L’interface de SQLOZ ne se bloque pas dans cette situation.
- Cliquez sur le bouton rouge Arrêter (⏹) de la barre d’outils, ou utilisez le raccourci
Cmd + .. - SQLOZ émet le signal d’interruption réseau approprié pour le moteur cible (
mysql_free_result,PQcancel,sqlite3_interrupt). - La requête active sur le serveur est interrompue dans les plus brefs délais.
3.3 Garde-fous pour environnements de production
Verrouillage de session en lecture seule
Pour proscrire toute altération involontaire de données lors d’audits ou d’analyses sur une base en production, l’éditeur peut être verrouillé en lecture seule.
- Cliquez sur l’icône de Cadenas Lecture Seule (🔒) en bas à droite de l’éditeur.
- Lorsque ce mode est actif, les commandes
INSERT,UPDATE,DELETE,DROPetALTERsont interceptées côté client et bloquées avant d’atteindre le serveur.
Avertissement : En mode lecture seule, l’application affiche une notification formelle : “Mode lecture seule actif : Votre session est restreinte en consultation. Les requêtes de modification sont bloquées.”
Garde-fou UPDATE/DELETE sans clause WHERE
L’une des causes les plus fréquentes de sinistre de données est l’omission de la clause WHERE lors d’un UPDATE ou DELETE, affectant ainsi l’ensemble de la table. SQLOZ identifie instantanément les requêtes non conditionnées et soumet une confirmation bloquante :
Important : Aucune clause
WHEREn’a été détectée dans cette requêteDELETE FROM customer_logs. Cette opération effacera l’intégralité de la table. Êtes-vous certain de vouloir continuer ? [Annuler] [Exécuter malgré tout]
- Annuler : L’opération est immédiatement interrompue et les données demeurent intactes.
- Exécuter malgré tout : Les administrateurs souhaitant délibérément vider la table peuvent poursuivre.
3.4 Résultats, transactions et SQL réutilisable
Chaque onglet d’éditeur dispose d’un espace de résultats avec les vues Résultat, Messages et Infos. Un script multi-requêtes restitue chaque instruction séparément, conservant le détail d’exécution et les erreurs d’exécution bien en vue.
Les contrôles de transaction de la barre d’état permettent d’initier (BEGIN), valider (COMMIT) ou annuler (ROLLBACK) une transaction. Des points de sauvegarde (Savepoints) sont également gérés pour des restaurations partielles.
L’éditeur intègre des modèles SQL prédéfinis pour SELECT, modifications DML, DDL et opérations de maintenance. Utilisez Favoris → Organiser les favoris… pour classer vos scripts réutilisables dans des dossiers locaux.
3.5 Raccourcis fréquemment utilisés
Les raccourcis indispensables pour un travail fluide au clavier :
| Raccourci | Fonction |
|---|---|
Cmd + Enter | Exécute la requête sélectionnée ou la ligne courante |
Cmd + . | Annule la requête en cours d’exécution |
Cmd + Shift + F | Formate le code SQL (indentation et retours à la ligne) |
Cmd + / | Commente ou décommente les lignes sélectionnées avec -- |
