Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2011, 23h56   #1
Invité de passage
 
dupuis Jean
Inscription : octobre 2010
Messages : 2
Détails du profil
Informations personnelles :
Nom : dupuis Jean

Informations forums :
Inscription : octobre 2010
Messages : 2
Points : 0
Points : 0
Par défaut Conception et performance

Bonjour,

J'ai une question actuellement j'ai en production un logiciel s'appuiant sur une base de donnée sql serveur.
Il y a un certain nombre de table qui constitue tout ce que ce logiciel à besoin.
Suite à l'explosion du nombre d'utilisateur certaine table ont subit un fort grossisement et vont à l'avenir devenire encore plus grosse (actuellement plusieurs 10eme de millions de reccord et a l'avenir plusieur 100ene de millions).
Toutes les données contenu dans ses tables ne sont utilisée que par un seul utilisateur (en gros c'est ces données à lui).
Afin de rendre la gestion et les performances plus grande l'idée est donc au lieu d'avoir des tables central qui contiennes toutes les données de tous les utilisateurs c'est de créer un jeux de table par utilisateur (en gros chaque utilisateur aurais ces propres table avec ces données).
Exemple :
Avant :
table a
ID
Nom
Prenom
FK_IDutilisateur

Après :

table a_IDutilisateur
ID
Nom
Prenom

L'idée vous parrait viables ?
Quel sont les risques ? (effet de bors etc..)
lysergva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2011, 08h47   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Personnellement je pense qu'une bonne conception/modélisation et une bonne indexation peuvent largement suffire couplé par exemple à un partitionnement de table (toutes vos données sont'elles exploitées? etc.)
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2011, 11h49   #3
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 667
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 667
Points : 8 715
Points : 8 715
Bonjour,

Je suis entièrement d'accord avec iberserk.
Partir sur une table par utilisateur n'est pas flexible du tout.

En revanche vous pouvez envisager de partitionner la table

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h22.


 
 
 
 
Partenaires

Hébergement Web