1 votes

Performances SQL - Conversion du type de paramètre ou de colonne

On m'a posé cette question lors d'un entretien, et j'aimerais avoir des commentaires...

J'ai une procédure stockée qui prend un paramètre varchar IsActive qui est soit une chaîne "YES" ou "NO".

La procédure stockée interrogera une table qui a une colonne Active avec un type de données de bit. Si le paramètre est "OUI", elle renverra toutes les lignes avec une valeur de bit de colonne active de 1, sinon pour "NON", elle renverra toutes les lignes avec une valeur de bit de colonne active de 0.

Est-il préférable de convertir la valeur du paramètre de OUI/NON en 1/0, ou de convertir les données de la table de 1/0 en OUI/NON lors de l'interrogation ?

La réponse est-elle la même si les types de données sont inversés (1/0 étant passé en entrée, OUI/NON stocké dans la table) ?

0voto

Aaron Novstrup Points 10742

Je pense qu'il est préférable de convertir le paramètre "OUI"/"NON" en 1/0 pour éviter d'avoir à stocker dans la base de données les variables qui consomment le plus d'espace.

Je pense également qu'une requête qui filtre sur les types de bits sera plus efficace pour la recherche qu'une requête qui filtre sur les variables.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X