SQLite plus rapide que MySQL?
Je veux mettre en place un teamspeak 3 serveur. Je peux choisir entre SQLite et MySQL comme base de données. Eh bien j'ai généralement tendance à "ne pas utiliser SQLite pour la production". Mais d'un autre côté, c'est un serveur teamspeak. Bon, d'accord, laissez-moi juste le google ce... j'ai trouvé ceci:
- Vitesse
SQLite3 est beaucoup plus rapide que la base de données MySQL. C'est parce que le fichier de base de données est toujours plus rapide que la socket unix. Lorsque j'ai demandé edition de canal a pris environ 0.5-1 sec sur la base de données MySQL (127.0.0.1) et presque instantanément (0,1 sec) sur SQLite 3. [...]
http://forum.teamspeak.com/showthread.php/77126-SQLite-vs-MySQL-Answer-is-here
Je ne veux pas commencer un SQLite vs MySQL débat. Je veux juste vous demander: Est son argument encore valide? Je ne peux pas imaginer que c'est vrai ce qu'il dit. Mais malheureusement, je ne suis pas assez expert pour répondre à cette question moi-même.
Peut-être TeamSpeak dev ont des différences importantes dans leur db architecture de l'entre-SQLite et MySQL, qui explique une énorme différence dans la vitesse (je ne peux pas imaginer ce).
Rappelez-vous que l'ensemble de "ne pas utiliser sqlite dans la production de" se réfère uniquement aux applications qui ont besoin de beaucoup simultanément en lecture/écriture, sqlite est certainement une qualité de production SGBDR. Et quiconque dit le contraire est tout simplement un menteur. Utilisez sqlite peut être beaucoup mieux que d'autres SGBDR 's en fonction du nombre de requêtes simultanées. J'ai utilisé sqlite depuis de nombreuses années pour de petites applications web qui ne nécessitent simple connexions etc. Et je dois toujours utiliser mysql sur les plus grands (de nombreux utilisateurs de poster de nombreuses mises à jour des applications et il est tout simplement évident de savoir comment beaucoup plus rapide sqlite est que mysql.
OriginalL'auteur boop | 2015-04-04
Vous devez vous connecter pour publier un commentaire.
Au Premier Temps d'Accès Apparaîtra plus Vite dans SQLite
Le temps d'accès pour SQLite apparaîtra plus vite en première instance, mais c'est avec un petit nombre d'utilisateurs en ligne. SQLite utilise un très simpliste accès algorithme, son rapide, mais ne permet pas de gérer la concurrence d'accès.
Que la base de données commence à se développer, et le montant d'accès simultanés, il va commencer à souffrir. La façon dont les serveurs de traiter plusieurs requêtes est complètement différent et beaucoup plus complexe et optimisé pour la haute simultanéité. Par exemple, SQLite et verrouiller l'ensemble de la table si une mise à jour est en cours, et la file d'attente des commandes.
Du SGBDR Fait beaucoup de travail supplémentaire qui les rendent plus Évolutif
MySQL par exemple, même avec un seul utilisateur va créer un accès de FILE d'attente, lock tables partiellement au lieu de permettre à un seul utilisateur à la fois les exécutions, et d'autres assez complexe de tâches afin de s'assurer de la base de données est toujours accessible pour tout autre accès simultané.
Cela permet de faire un seul utilisateur de connexion plus lente, mais payante dans l'avenir, lorsque 100 utilisateurs sont en ligne, et dans ce cas, le simple
"VERROUILLER L'ENSEMBLE DE LA TABLE ET EXÉCUTEZ UNE REQUÊTE UNIQUE À CHAQUE FOIS"
procédure de SQLite sera porc le serveur.
SQLite est faite pour des raisons de simplicité et Autonome Applications de Base de données.
Si vous vous attendez à avoir 10 accès simultané de l'écriture à la base de données à un moment SQLite peuvent bien performer, mais vous ne voulez pas de 100 utilisateur de l'application constante de lit et écrit les données de la base de données avec SQLite. Il n'était pas conçu pour un tel scénario, et il va corbeille ressources.
Compte tenu de votre TeamSpeak scénario, vous êtes susceptible d'être ok avec SQLite, même pour certaines entreprises, il est OK, certains sites ont besoin de bases de données qui sera en lecture seule, sauf lors de l'ajout de nouveau contenu.
Pour ce genre de utilise SQLite est un pas cher, facile à mettre en œuvre, autonome, la solution idéale qui vous permettra d'obtenir le travail fait.
Case à cocher pour "Quand ne Pas Utiliser SQLite" dans le lien: digitalocean.com/community/tutorials/...
OriginalL'auteur José Algarra
Je n'ai pas personnellement testé SQLite vs MySQL, mais il est facile de trouver des exemples sur le web qui disent le contraire (par exemple). Vous ne vous posez une question qui n'est pas tout à fait ainsi de la religion: c'est que l'argument est-il valide?
Tout d'abord, l'essence de l'argument est quelque peu spécieux. Une socket Unix serait utilisée pour communiquer avec un serveur de base de données. Un "fichier de base de données" semble faire référence au fait que la communication est par le biais d'un compilés dans l'interface. Dans la terminologie de SQLite, il est serveur-moins. La plupart des bases de données banque de données dans des fichiers, de sorte que la terminologie "fichier de base de données" est un peu trompeur.
Les performances d'une base de données implique plusieurs facteurs, tels que:
Avoir l'interface être compilés affecte la première et la dernière de ces. Il n'y a rien qui empêche un serveur moins de la base de données d'exceller sur le reste. Cependant, les serveurs de base de données sont généralement des millions de lignes de code, beaucoup plus grande que SQLite. Beaucoup de ce qu'prend en charge des fonctionnalités supplémentaires. Certains de il prend en charge l'amélioration des optimisations et de meilleurs algorithmes.
Comme avec la plupart des questions de performances, la réponse est de tester les systèmes d'-vous sur vos données dans votre environnement. Être serveur-moins n'est pas un système automatique de gain de performance. Avoir un serveur ne prend pas en faire une base de données "mieux". Elles sont différentes applications conçues pour l'optimisation des différents points.
votre lien est rompu mate.
OriginalL'auteur Gordon Linoff
Pertinentes différence est que SQLite utilise une méthode beaucoup plus simple de verrouillage de l'algorithme (un simple verrou de base de données).
À l'aide de fine-grain de verrouillage (comme MySQL et la plupart des autres serveurs de DB) est beaucoup plus complexe, et de plus si il y a une seule base de données de l'utilisateur, mais nécessaire si vous souhaitez permettre à plus de concurreny.
OriginalL'auteur CL.