octobre
2010
Il arrive souvent que le modèle de données d’une base SQL SERVER ne prévoit pas la suppression en cascade ou la mise à jour en cascade entre les tables PARENT-ENFANT. Pour effectuer donc un DELETE ou un UPDATE dans la table PARENT il faut d’abord faire en amont la même opération dans toutes les tables ENFANTS. Comment faire donc un DELETE ou UPDATE en cascade sans toucher au modèle de données et sans trigger ?
octobre
2010
Pour répondre rapidement aux instructions, SQL SERVER dispose d’un pool de mémoire pour stocker les plans d’exécution et les données. La part du pool de mémoire utilisée pour stocker les plans d’exécution est appelée le cache de procédures. Lorsqu’une instruction SQL est lancé, le moteur relationnel parcourt d’abord le cache de procédures pour voir s’il existe un plan d’exécution pour la même instruction, afin de réutiliser ce plan. Ceci évite donc au moteur de mobiliser […]
octobre
2010
On ne le dira jamais assez : une mauvaise écriture de requête SQL et surtout la méconnaissance du fonctionnement des SGBD peuvent conduire à une catastrophe ! tenez, une requête du genre SELECT * FROM T_TEST WHERE id LIKE @id peut mettre à genou votre serveur. Voici une petite démo. Cette démo est inspirée d’un cas concret de requête lancée par une application commerciale sur un serveur SQL de production.