J'ai entendu dire que les requêtes MySQL sont très chères et que vous devriez éviter à tout prix en faisant trop d'entre eux. P>
Je développe un site qui sera utilisé par assez de peuple et je me demande: p>
Combien coûtent les requêtes MySQL réellement? Si j'ai 400 000 personnes dans ma base de données, combien coûte-t-il pour l'une pour l'une pour l'une d'elles? P>
Quelle attention a-t-il besoin de payer que je ne fais pas trop de requêtes par demande client? p>
EDIT: TomTom n'a pas pu être plus correct avec sa réponse. Selon les tests de perorance sur les sites liés dans les commentaires (et quelques sites que j'ai trouvés à travers une recherche "MySQL Series par seconde"), je ne rencontrerai pas de problèmes pendant un certain temps - MySQL peut faire des milliers de questions par seconde avec un serveur distant. p>
3 Réponses :
Ignorez-le. Sérieusement. Si vous avez besoin de données, vous avez besoin de données. Assurez-vous que vos requêtes sont raisonnables rapidement (c'est-à-dire des indices appropriés). Obtenez un serveur approprié pour gérer la charge. Utilisez la mise en cache de sortie comme c'est logique, démarrez la mise en cache des données une fois que vous savez où vous avez réellement un problème. P>
C'est rassurant, merci :) - une chose cependant, pouvez-vous donner un exemple d'indices appropriés? Pas exactement sûr de ce que vous parlez de.
Si vous sélectionnez toujours I.e. Un utilisateur par son nom d'utilisateur, vous devez définir un index sur la colonne Nom d'utilisateur. Si vous sélectionnez PAR L'ID utilisateur, définissez un index sur la colonne ID utilisateur (probablement une clé primaire sur elle). En bref: définir des index sur des colonnes qui apparaissent le plus fréquemment dans votre situation où l'état et vérifiez toujours avec "Expliquer la sélection ..." si l'index est utilisé.
@1crediman: Jetez un coup d'œil à dev.mysql.com/doc /refman/5.1/fr/mysql-indexes.html , dev.mysql.com/doc/refman/5.1/fr/Uning-Explain.html et peut-être mysqlperformanceblog.com ou Jan.kneschke.de/projects/mysql
@dbmerlin ah, oui j'ai pensé que c'est ce qui était censé. Logique; Base de données communes bonnes pratiques. Expliquez que Select est nouveau pour moi, semble intéressant.
Cela dépend de p>
a) votre niveau de circulation b) votre serveur c) combien de vos requêtes sont chères p>
Par exemple, en règle générale, je ne passe jamais plus de 15 requêtes une page. Cependant, je permettà au moins 6-7 d'être coûteux (1-2 jointures). P>
Tout ce qui ne change que très rarement (descriptions de films comme exemple) je cache. Ensuite, en administration, supprimez ce fichier de cache lorsque ce film est mis à jour. P>
Cependant, j'ai eu des sites qui ont 80 questions (retour dans la journée) et ont eu plus de 200 visiteurs actuellement rafraîchissant sans problème, mais ils étaient tous très légers. P>
Je ne pense pas qu'il y ait une vraie règle solide que les gens donneront ou vous devriez respecter. p>
Merci, +1 pour les chiffres, c'est très rassurant. J'ai environ 8-10 questions par page Max, avec la plupart des pages qu'avec quelques requêtes. Aucune de mes questions ne sont vraiment si coûteuses du tout - elles sont surtout des sélectionneurs et des insertions simples (bien qu'il y ait une somme, ce que je suppose, c'est une sorte de coûteux, à l'exception du fait qu'il ne ressemble à environ 250 rangées par pageView).
Tant que vos requêtes sont précises et écrites aussi efficaces que possible, MySQL est faite pour pouvoir effectuer ces actions. p>
Si vous dites avoir 400 000 utilisateurs, et vos problèmes de performance remarquables, vous devez faire suffisamment d'argent de ces utilisateurs pour améliorer votre serveur de toute façon :) P>