Question

J'ai une table, qui contient de nombreuses colonnes de type de données float avec une précision de 15 chiffres. Chaque colonne consomme 8 octets de stockage. La plupart du temps les données ne nécessite pas ce degré de précision et pourrait être conservé comme un vrai type de données. Dans de nombreux cas, la valeur peut être 0, auquel cas je pouvais sortir avec le stockage d'un seul octet.

Mon but ici est d'optimiser les besoins de stockage de l'espace, ce qui est une question que je suis confronté à travailler avec une limite de taille de base de données SQL Express 4 Go.

Si l'octet, réel et les données sont stockées types float dans une colonne sql_variant il y a évidemment certains frais généraux impliqués dans le stockage de ces valeurs. Quel est le coût de ces frais généraux?

Je alors besoin d'évaluer si je finirais réellement dans les économies d'espace importantes (ou non) de passer à l'utilisation de types de données de colonne sql_variant.

Merci, Elan

Était-ce utile?

La solution 2

Je trouve l'article folowing très utile pour faire la lumière sur le coût du stockage en ce qui concerne sql_variant:

http://msdn.microsoft.com/en-us/library /ms178085.aspx

Autres conseils

Vous ne économiser de l'espace en utilisant sql_variant et vous simplement introduire un tout autre niveau de complexité

Chaque colonne doit avoir le bon type de données pour stocker toutes les valeurs possibles dans ce domaine. Avez-vous besoin de flotter à travers le conseil d'administration? Pourriez-vous utiliser tinyint? etc etc

Si vous êtes préoccupé par la limite de 4 Go, puis mise à niveau vers les nouvelles versions Express (10 Go) ou monter une édition.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top