11
votes

Quelles sont les requêtes de base de données plus rapides ou la lecture de fichiers / lecture

Je sais que dans des cas normaux est plus rapide de lire / écrire à partir d'un fichier, mais si j'ai créé un système de discussion: Serait-ce plus rapide d'écrire et de lire à partir d'un fichier ou d'insérer / sélectionner des données dans des résultats DB et CaHE?


0 commentaires

4 Réponses :


9
votes

La base de données est plus rapide. Et surtout pour vous, traite d'un accès simultané.


0 commentaires

0
votes

Bases de données de loin.

Les bases de données sont optimisées pour le stockage de données qui est constamment mise à jour et modifiée comme dans votre cas. Le stockage de fichiers est destiné au stockage à long terme avec quelques modifications.

(même si les fichiers étaient plus rapides, je vais toujours avec des bases de données, car il est plus facile de développer et de maintenir)


0 commentaires

0
votes

Puisque je présume que votre système écrirait / lire des données de manière continue (comme les personnes tapagent leurs messages), les écrire dans un fichier prendrait plus de temps en raison de la procédure de traitement des fichiers, c'est-à-dire.

  1. Fichier ouvert pour l'écriture
  2. Fichier de verrouillage
  3. écrire et enregistrer
  4. Déverrouillez le fichier

    J'irais avec dB.


0 commentaires

3
votes

Voulez-vous vraiment une action de disque mécanique à chaque fois que des types de personnes? L'écriture sur le disque est une idée horrible. Messages de cache en mémoire. Effacez le message une fois qu'il est envoyé à tous les utilisateurs de la pièce. Le cache restera petite, la plupart du temps vide. C'est votre meilleure option si vous n'avez pas besoin d'un journal d'historique.

Mais si vous avez besoin d'un journal ....

Si vous écrivez une grande quantité de données en 1 passage, je vous garantis que le fichier fume de la base de données Insérer des performances. Une caractéristique d'insertion en vrac de la base de données peut correspondre au fichier, mais elle nécessite une source de données de fichier pour commencer. Vous auriez besoin de faire la queue de nombreux messages en mémoire, puis de rincer périodiquement au fichier.

Pour de nombreuses petites écrivies, l'écart se fermera et la base de données s'attaquera. Les index vont influencer la vitesse d'insertion. Si des milliers d'utilisateurs insèrent dans une table très indexée, vous pouvez avoir des problèmes.

Faites vos propres tests pour prouver ce qui est plus rapide. Simulez une charge réaliste, pas un test d'utilisateur 1.


0 commentaires