IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Optimisation-Modelisation - Sqlserver


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut Optimisation-Modelisation - Sqlserver
    Bonjour,

    Je vous sollicite parce je l'avoue j'ai jamais été très fort en modélisation... Je cherche a mettre en place une solution qui pourra recevoir de nombreux accès avec un volume important

    J'ai un cas d'école.

    J'ai des évenennements et des catégories. 1 évennement appartient a une et une seul catégorie.

    Les accès :
    - Mise a jour a partir du numéro d'évennement ( Beaucoup d'update pour incrémenter des compteurs)
    - Consultation de tous les évennement d'un catégorie trié par évennement décroissant.

    Ma problématique : La base évennement va être très volumineuse et je voudrait optimiser tout de suite la BDD pour qu'elle soit performante


    J'ai pensé à plusieurs solutions :
    - 1 table évennement(N° Evennement , etc...) + 1 table liaison (N°Catégorie + N°evennement)
    - 1 table qui contient tout ( N°evennement,N°catégorie,etc...)

    merci d'avance....
    Quelle serait la solution la plus performante ? peut être une autre solution...

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    J'ai des évenennements et des catégories. 1 évennement appartient a une et une seul catégorie.
    Il faut donc une entité de catégories, et une entité d'événements qui est en relation avec l'entité de catégories.
    Concrètement cela se traduit par une table de catégories, et une table d'événements qui référence la clé primaire de la table des catégories par une contrainte de clé étrangère.

    La base évennement va être très volumineuse et je voudrait optimiser tout de suite la BDD pour qu'elle soit performante
    Qu'entendez-vous par volumineuse ? A combien avez-vous estimé le nombre de lignes à maturité du système ?
    Pensez au partitionnement de votre table (je suppose que votre table d'événements aura une colonne de type DATETIME, et vous avez peut-être intérêt à la partitionner suivant cette colonne ...).

    Mais avant d'envisager cela, voyez la réponse de Mikedavem ici

    @++

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Pour le volume je dirais qu'au top du top on atteindra peut être le million d'enreg...

    Si j'ai bien compris j'ai une table

    NEvennement , Ncategorie, détails....

    Et une table catégorie qui contirendra 5 enregs genre (Ncatégorie,Libellécatégorie).....


    avec une contrainte de clé étrangère entre les deux tables...

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Un exemple plus physique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CREATE TABLE dbo.TbCategorie
    (
    	nCategorie INT NOT NULL IDENTITY CONSTRAINT PK_TbCategorie_nCategorie PRIMARY KEY,
    	libelleCategorie VARCHAR(20) NOT NULL CONSTRAINT UQ_TbCategorie_libelleCategorie UNIQUE,
    	autresColonnesCategorie ...
    )
    GO
     
    CREATE TABLE dbo.TbEvenement
    (
    	nEvenement INT NOT NULL IDENTITY CONSTRAINT PK_TbEvenement_nEvenement PRIMARY KEY,
    	nCategorie INT NOT NULL CONSTRAINT FK_TbEvenement_nCategorie FOREIGN KEY (nCategorie) REFERENCES dbo.TbCategorie(nCategorie),
    	dateEvenement DATETIME NOT NULL CONSTRAINT DF_TbEvenement_dateEvenement DEFAULT (GETDATE()),
    	autresColonnesEvenement ...
    )
    GO
    @++

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Merci a toi...

    C'est ce que j'avais compris..

    Cool ....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Job d'optimisation sous SQLServer 2000 - PRIMARY GROUP is full
    Par Romain.pelissier dans le forum MS SQL Server
    Réponses: 24
    Dernier message: 30/10/2007, 14h30
  2. [C# 2.0/SqlServer] Comment optimiser l'affectation d'un nouveau login ?
    Par joujou_le_fou dans le forum Accès aux données
    Réponses: 5
    Dernier message: 16/06/2006, 21h19
  3. Optimisation SQLServer 2000
    Par Débéa dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/07/2005, 16h15
  4. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo