2011-04-21 4 views
0

J'écris le code pour la liste d'ami et le système de messagerie pour mon site Web d'université. J'ai besoin de stocker des données interconnectées .. besoin de les rechercher ... Il a environ 3500 enregistrements .. Ainsi je procède MYSQL ou XML ..which est le plus rapide ... quel est le meilleur? pourquoi?XML ou MYSQL. À utiliser pour stocker des données connectées?

+3

dépend des données. Donner plus d'informations: la structure des données, comment elles seront connectées, quelles "requêtes" seront les plus utilisées, prévoyez-vous aussi d'écrire sur les données? –

+0

Assez sûr que vous ne voulez pas stocker 3500 enregistrements dans un fichier XML. – BoltClock

+0

Nous sommes très méfiants du mot "meilleur" sur Stack Overflow ... pouvez-vous donner des métriques plus spécifiques? "Le plus rapide" est un début, mais encore plus de spécificité serait bien. – Pops

Répondre

1

Je vais utiliser l'une des réponses préférées de mon professeur ici: "ça dépend."

XML et MySQL ont des applications très différentes. Si vous avez besoin de faire beaucoup de requêtes simultanées pour toutes sortes de choses sophistiquées, MySQL est clairement votre gagnant. Parfois, MySQL peut être difficile à utiliser dans certaines applications car vous devez d'abord créer un schéma de base de données dans lequel s'adapter à vos données. Il semble que vous ayez beaucoup d'enregistrements avec la même structure, et il serait assez facile de les jeter dans une base de données. Avec un moteur de base de données basé sur SQL comme MySQL, vous pouvez également créer des requêtes en utilisant le langage SQL standard. Les optimisations de base de données peuvent également aider à augmenter les performances de ces types de requêtes, par exemple, vous pouvez utiliser des index et des clés. Si vos données doivent être mises à jour régulièrement, MySQL offrira probablement de meilleures performances car il n'aura pas à réécrire le fichier XML. Si vous avez besoin de votre application à l'échelle de nombreuses connexions simultanées de requêtes sophistiquées, vous allez certainement vouloir aller avec une sorte de solution SQL. Cependant, en fonction de votre application, il existe parfois d'autres moyens de stocker et d'accéder à vos données. J'ai pour une fois besoin de créer une structure de données persistante sur le disque qui pourrait être accessible très rapidement, mais jamais mis à jour. Pour cela, j'ai utilisé cdb. Il existe également d'autres systèmes de base de données tels que le Berkeley database et certaines solutions No-SQL telles que couchdb et mongodb. J'ai posé un peu ici interesting question sur stackoverflow sur l'utilisation de solutions No-SQL un peu plus tôt que vous pouvez trouver intéressant aussi bien.

Ceci est vraiment juste un échantillon de différentes considérations que vous pourriez vouloir faire lorsque vous choisissez comment vous voulez stocker vos données. Pensez à des questions comme: À quelle fréquence les choses seront-elles interrogées? ou mis à jour? À quoi ressembleront vos requêtes? De quels types d'applications avez-vous besoin pour accéder à vos informations? etc.

Questions connexes