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

Requêtes MySQL Discussion :

limite de mysql


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 2
    Par défaut limite de mysql
    Bonjour à tous,

    Avant de me lancer dans mon projet, je voudrais avoir plusieurs avis de personnes expérimentés sur l'organisation de mes bases et tables.

    Question 1:

    Chaque utilisateur de mon site a un login et mot de passe. Dois je absolument cripter le mot de passe dans ma base de donnée? Si oui, quel risque je prend si je le fais pas?

    Question 2:

    J'ai besoin d'une trentaine de tables chaqu'un d'elles en avec comme relation le login. Chaque table comporte une dizaine de colonne très peu gourmande (souvent du SMALLINT UNSIGNED). Par contre, chaque table doit pouvoir supporter 1 million de ligne environ.

    Je compte réaliser des requetes quotidiennes (cron) dont la plus importante serait deux select dans deux tables, un calcul php (pas gourmand) et le résultat qui serait un update dans une troisième table, et ce pour chaque ligne.

    Je dispose de 50 bases mysql et d'apres mon hebergeur chaque base peut comporter 50 MO. (sauf si je prend une option qui rajoute bcp de memoire)

    question:

    dois je regrouper les 3 tables en une seule?
    dois je mettre mes 30 tables dans 30 bases différentes?
    dois je prendre l'option pour etre plus rapide?
    Sinon quelle est la solution optimale?


    Je vous remercie d'avance pour votre temps consacré à répondre à mes questions

  2. #2
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Citation Envoyé par Prince2104
    Chaque utilisateur de mon site a un login et mot de passe. Dois je absolument cripter le mot de passe dans ma base de donnée? Si oui, quel risque je prend si je le fais pas?
    Un risque d'usurpation de compte de tes utilisateurs. Il suffit que quelqu'un ait accès (à distance, depuis ton lieu de travail...) aux données de la table pour qu'il puisse disposer de tous les identifiants.

    Citation Envoyé par Prince2104
    dois je regrouper les 3 tables en une seule?
    Ne connaissant pas ton modèle de données, on ne peut pas répondre dans l'absolu. Si lors de la modélisation tu as dégagé 3 tables distinctes, il n'y a aucune raison de les regrouper.

    Citation Envoyé par Prince2104
    dois je mettre mes 30 tables dans 30 bases différentes?
    dois je prendre l'option pour etre plus rapide?
    Sinon quelle est la solution optimale?
    Ca dépend de ce que rajoute l'option. C'est sur que 50 Mo c'est très petit... Même en prenant 30 bases différentes tu risques de te sentir à l'étroit.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 2
    Par défaut
    Voici les options proposées par l'hebergeur (par base)

    50 MO
    100 MO
    500 MO
    1 G:

    5 bases
    15 bases
    25 bases
    50 bases

    Combien de bases dois je prendre et quelle option?

    Au niveau de php, est ce qu'un script serait capable de faire deux requetes select dans deux tables différentes, exécuter une addition et mettre le résultat dans une troisieme base? Et ce pour 1 million de ligne? (avec un Timeout de 120 secondes)

    Si oui, est ce qu'il y a un risque que mysql fasse une erreur sur toutes ces opérations? (je ne parle pas d'une erreure de code php ou autre erreure de code)

    Merci encore pour vos réponses.

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Citation Envoyé par Prince2104
    Je compte réaliser des requetes quotidiennes (cron) dont la plus importante serait deux select dans deux tables, un calcul php (pas gourmand) et le résultat qui serait un update dans une troisième table, et ce pour chaque ligne.
    Il y a de fortes chances que tu puisses réaliser ton opération en une seule requête MySQL en utilisant un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO table3 (champ1, champ2, ...)
    SELECT ...
    FROM table1
    ...
    Le fait de tout faire en MySQL et en une opération (pas d'INSERT multiples) rendra l'opération extrêmement rapide (et en plus ça évite d'écrire beaucoup de code en PHP).

    Concernant le SELECT celui-ci contiendra certainement soit un UNION ALL, soit une jointure.



    Citation Envoyé par Prince2104
    Au niveau de php, est ce qu'un script serait capable de faire deux requetes select dans deux tables différentes, exécuter une addition et mettre le résultat dans une troisieme base? Et ce pour 1 million de ligne? (avec un Timeout de 120 secondes)
    Application pratique de ce que j'ai dit précédemment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO table3 (champ1)
    SELECT table1.champ1 + table2.champ1
    FROM table1
    INNER JOIN table2
    ON ...
    Même pour 1 million de lignes, il n'y a pas de problème.


    Enfin, concernant l'hébergement, il faut faire une estimation du volume de données à stocker (nb_enregistrement_estimé * taille_de_chaque_enregistrement). 50 Mo, c'est extrêmement limité. Je ne vois pas l'intérêt de multiplier les bases (sauf cas particulier).
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

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

Discussions similaires

  1. Quelles limites pour MySQL / Xampp
    Par adrianclowes dans le forum Administration
    Réponses: 1
    Dernier message: 23/11/2007, 10h59
  2. Limitation de mysql ?
    Par *alexandre* dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 19/02/2007, 12h32
  3. Limite de MySQL
    Par toinekikil dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 23/08/2006, 12h58
  4. Simulation de la fonction LIMIT de MySQL avec SQL Server
    Par Le Pharaon dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/11/2005, 10h43
  5. Mandriva 2005 Limited Edition mySQL
    Par messier79 dans le forum Apache
    Réponses: 2
    Dernier message: 08/10/2005, 12h44

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