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

Décisions SGBD Discussion :

c'est quoi une grande table?


Sujet :

Décisions SGBD

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Points : 73
    Points
    73
    Par défaut c'est quoi une grande table?
    bonjour,

    souvent dans les tutoriels , oin parle d'une méthode d'indexation ou un concept qui s'applique sur les grandes tables.

    Ma question est :quand est ce que 'on peut dire qu'une table est de grande dimension?
    par exemple j'ai une table de 100 000 lignes , doit je installer un index?

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Les index, si je ne me trompe pas, permettent d'accélerer la recherche sur les champs : c'est à dire que si tu as un champ que tu compares souvent ou qui est souvent en jointure, il vaut mieux l'indéxer.
    J'ai pas une grande expérience mais dans le dernier projet que j'ai eu à faire, j'avais des tables de 400000 enregistrements sur 11 champs et on m'a dit que c'était petit donc...

    PS : tu devrais modifier ton titre : ton problème apparement c'est les index et non la taille des tables

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Points : 73
    Points
    73
    Par défaut justement...
    Merci pour ta réponse, en fait ce ke je voulais savoir c'est:
    -est ce qu'il faut que je fasse un index sachant que il a un coût en espace ou bien travailler sans index car ma table de 100000 lignes à 10 champs est considérée comme petite.
    donc le probleme qui se pose est la taille de la table , mais bon si tu me dis que 400000 c'est petit alors ma table de 100000 c'est encore plus petit.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 083
    Points : 30 842
    Points
    30 842
    Par défaut
    Tout doit être relativisé...
    Dans quel environnement travailles-tu ? Sous quel SGBD ?
    100 000 enregistrements pour Access, c'est une grosse table
    1 000 000 000 pour ESSBase, c'est une table de taille moyenne...

    C'est comme dire qu'une 2CV consomme plus qu'une Ferrari parce qu'on fait moins de km avec un plein...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Points : 73
    Points
    73
    Par défaut je précise
    je précise donc , c'est une base de donnée de géré par Mysql derniere version. elle est constituée de 400 000 lignes et 10 attributs.
    un identifiant que je pense indexer.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 083
    Points : 30 842
    Points
    30 842
    Par défaut
    Il est toujours utile d'indexer une table sur son identifiant pour optimiser les recherches (et les jointures) sur cet identifiant.
    Si cet identifiant doit être unique, un index unique permet de faire vérifier cette unicité par le SGBD, ce qui sera moins lourd que par l'application.
    Si cet identifiant est utilisé comme clé étrangère par une autre table, il doit être unique et donc...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par al1_24
    Il est toujours utile d'indexer une table sur son identifiant pour optimiser les recherches (et les jointures) sur cet identifiant.
    comme tu y vas... toujours me parait un peu fort. Exemple : table de logs pas d'index qui pénalise les écritures

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 810
    Points : 52 865
    Points
    52 865
    Billets dans le blog
    5
    Par défaut
    La taille d'une table s'évalue en Octets. Pas en nombre de ligne dou de colonnes (la notion d'attribut n'existe pas dans le domaine des SGBD).

    De plus notion de grandeur doit être évaluée en fonction de la machine qui héberge la base...

    Une table de grande taille est donc une table qui occupera un espace mémoire (RAM) non négligeable.

    Quelques exemples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE TABLE T1(I INT)
    CREATE TABLE T2(I INT, A CHAR(500))
    Chacune de ces tables contient 1 million de lignes.

    1) dans un SGBDR qui dispose de 256 Mo de RAM, ces tables sont elles grosses ?

    2) dans un SGBDR qui dispose de 2 Go de RAM, ces tables sont elles grosses ?

    Solution :

    INT => 32 bits => 4 Octets * 1 000 000 => Taille approx de la table : 4 Mo.
    CHAR(2000) => 500 octets => 504 * 1 000 000 => 480 Mo

    1) T1 petite, T2 grosse
    2) T1 petite, T2 moyenne

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. [POO] C'est quoi une classe en claire...???
    Par Spack dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 26/01/2009, 15h53
  2. C'est quoi une table système ?
    Par pascal07 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/07/2008, 23h19
  3. [ireport] c'est quoi une scriptlet ?
    Par titlola dans le forum iReport
    Réponses: 1
    Dernier message: 11/04/2006, 16h24
  4. [GLSL,Cg,....] C'est quoi une CubeMap ?? ;:|
    Par cyber_N dans le forum OpenGL
    Réponses: 5
    Dernier message: 25/01/2006, 09h53
  5. UPDATE d'une grande table ou INSERT d'une petite ?
    Par bibile dans le forum Requêtes
    Réponses: 4
    Dernier message: 18/04/2005, 10h09

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