toopix
Messages postés30Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention16 avril 2010
-
10 févr. 2010 à 15:59
toopix
Messages postés30Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention16 avril 2010
-
17 févr. 2010 à 17:54
J'ai une base de données SQL server qui contient 160 colonnes.
Serait-il plus efficace en terme de rapidité et temps de réponse si je dispatchais cette table en plusieurs avec des relations de clé entre les tables. (ce qui est possible dans mon cas)
Mes temps de réponse sont actuellement tres longs.
hymnuade
Messages postés39Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention15 février 2010 15 févr. 2010 à 16:12
Bonjour,
Je pense qu'il faudrait plus de précision, mais d'une manière générale, il me semble que :
1. Utiliser plusieurs tables mais en conservant toutes les données n'aurait un avantage que si tu stockais les tables dans des groupes de fichiers différents
2. Cependant, si certaines colonnes ont des valeurs répétitives, tu pourrais utiliser une clé externe vers une table de référence mutualisant ces données
Peux-tu préciser, nombres de lignes, quelle requêtes, quelles filtres, as-tu des index etc .
toopix
Messages postés30Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention16 avril 2010 17 févr. 2010 à 17:54
Je précise :
la table en question n'est pas énorme : 60 000 lignes environ
Il y a des index sur les champs qui servent dans les clauses where de mes requêtes de selection
il n'y a pas de valeurs répétitives pour mutualiser des données
il y a une clé primaire défini par un id
Par contre chaque mise à jour même d'un seul enregistrement peut mettre jusqu'à 15 secondes même en travaillant en local sur mon poste.
C'est pourquoi je me suis poser la question de la performance d'une table de 160 colonnes.
Comment utiliser des groupes de fichiers différents avec SQL SERVEUR ?
Je vais 'découper' cette table en quatre tables avec des relations de clé primaire étrangère.
Si d'autres idées te viennent pour améliorer tout ca.