-
MySQL est passé d'un "jouet" entre les mains des développeurs à "la base de données open source la plus populaire au monde" aujourd'hui. Le processus s'est accompagné de mises à niveau de version du produit et de l'ajout de nouvelles fonctionnalités (en particulier des fonctionnalités de base de données d'entreprise). MySQL est passé d'un "jouet" entre les mains des développeurs à "la base de données open source la plus populaire au monde" aujourd'hui. Le processus s'accompagne de mises à niveau de version du produit et de l'ajout de nouvelles fonctionnalités (en particulier des fonctionnalités de base de données d'entreprise). Maintenant que MySQL 5.0 est parfaitement développé, peu de gens qualifient MySQL de « base de données jouet ». Les riches fonctions de MySQL répondent aux besoins de nombreux utilisateurs. Les actions récentes d'Oracle montrent qu'ils prennent MySQL très au sérieux : Oracle a exprimé à plusieurs reprises son intention d'acquérir MySQL.
Feuille de route du produit MySQL
Commençons par les versions les plus influentes de MySQL et examinons les mises à jour de MySQL.
MySQL 4.0
MySQL 4.0 a été publié en mars 2003, rendant les nouvelles applications basées sur MySQL plus largement disponibles. Mais dans la version 4.0, MySQL ne prend pas en charge les procédures stockées, les déclencheurs, les pointeurs côté serveur ou les vues. MySQL 4.0 a été développé à partir de la version 3.23. Il a été grandement amélioré par rapport à la version 3.23. Il est principalement adapté aux sites Web. À l'heure actuelle, MySQL n'est pas encore une base de données d'entreprise.
Voici les principales nouveautés de MySQL 4.0 :
Index FULLTEXT : La chose la plus attendue par les utilisateurs est peut-être l'index FULLTEXT.
FULLTEXT crée un index sur un champ de texte, fournissant un mécanisme puissant et flexible pour effectuer des recherches booléennes sur l'index. Selon l'expérience générale du développement, les développeurs doivent généralement créer des index et accéder aux données textuelles, et les index FULLTEXT sont bien meilleurs qu'on ne l'imaginait.
Alors que de nombreuses solutions se limitent aux index de mots complets, les index FULLTEXT n'ont pas une telle limitation, permettant aux développeurs d'ajouter ou de diviser des phrases.
ANSI SQL UNION : prend en charge l'instruction ANSI SQL UNION, qui collecte les résultats de la requête dans un jeu de résultats.
Opérations multi-tables : UPDATE et DELETE multi-tables peuvent être effectuées.
Nouvelles instructions : ajout de nouvelles instructions non standard familières aux autres utilisateurs de SGBD (telles que IDENTITY et TRUNCATE TABLE), ainsi que de nouvelles fonctions telles que FOUND_ROWS(), qui peuvent renvoyer le nombre d'enregistrements pouvant être renvoyés sans clause LIMIT. .
Moteur de stockage InnoDB : Le moteur de stockage InnoDB était à l'époque une fonctionnalité standard du serveur et est devenu une option supplémentaire dans la version 4.0. InnoDb est un type de table qui autorise les transactions conformes à ACID au lieu du type de table MyISAM par défaut, ce qui peut accélérer l'utilisation générale, mais n'est pas très utile pour les opérations critiques.
Les tables InnoDB utilisent le verrouillage au niveau des lignes, ce qui signifie que les mises à jour d'un enregistrement verrouillent uniquement cet enregistrement, pas la table entière. Le verrouillage de l'ensemble de la table est assez rapide lorsque la sélection accède à une base de données volumineuse (comme c'est le cas pour la plupart des sites Web), mais plus lent lorsque le nombre d'insertions et de mises à jour se rapproche du nombre d'options. Les critiques de MySQL se sont longtemps concentrées sur les problèmes de sécurité et de cohérence avec les tables MyISAM, et les tables InnoDB conformes à l'ACID contribuent grandement à résoudre ces problèmes.
Mise en cache des requêtes : MySQL 4.0 peut être plus rapide dans certains cas. Ceci est principalement réalisé grâce à la mise en cache des requêtes, qui stocke les résultats de requêtes en double pour améliorer la vitesse, bien que de nombreuses applications matures exécutent leur propre fonctionnalité de mise en cache des requêtes à un certain niveau de code. Certaines déclarations ont également été améliorées en termes de vitesse.
Serveur intégré : MySQL 4.0 est livré avec une bibliothèque de serveur intégré qui permet aux applications d'utiliser MySQL comme base de données sous-jacente.
latin1_de : MySQL 4.0 prend en charge un jeu de caractères supplémentaire latin1_de, qui garantit que les mots allemands sont stockés correctement.
MyISAM : les tables MyISAM dans MySQL 4.0 prennent actuellement en charge les liens symboliques au niveau de la table, afin que les utilisateurs Windows puissent créer des liens symboliques au niveau de la table (cela fonctionnera toujours pour les utilisateurs Unix).
Modèle de sécurité : le modèle de sécurité de MySQL 4.0 a été amélioré, permettant aux administrateurs d'autoriser les autorisations de manière plus granulaire. Les nouvelles autorisations permettent aux utilisateurs de créer des tables temporaires, de verrouiller des tables, d'effectuer certaines tâches de réplication, d'afficher toutes les bases de données existantes et même de se connecter lorsque la limite maximale de connexion est atteinte - très utile pour les administrateurs de base de données pour effectuer des tâches d'urgence et même autoriser l'exécution d'une procédure de stockage ( cette fonctionnalité a été implémentée dans MySQL 5). S'appuyant sur un mode de sécurité amélioré, les administrateurs de base de données peuvent également limiter le nombre de connexions, de mises à jour ou de requêtes que les utilisateurs peuvent effectuer par heure.
MySQL 4 est conçu pour fonctionner sur Novell Netware 6.0. De plus, de nombreuses variables du serveur MySQL peuvent être modifiées sans redémarrer le serveur, ce qui est très utile puisque le redémarrage restaurera les anciens paramètres.
MySQL 4.1
Après le lancement de MySQL 4.1, pour certains utilisateurs, la version 4.1 offre des possibilités de mise à niveau plus intéressantes que MySQL 4.0 :
MySQL 4.1 prend en charge les sous-requêtes
De nombreuses requêtes peuvent être écrites plus efficacement sans utiliser de sous-requêtes, mais il existe des exceptions. Les sous-requêtes sont une fonctionnalité ANSI SQL standard.
Prend en charge Unicode (UTF-8), permettant une internationalisation plus large.
Chaque colonne, table ou base de données peut avoir un jeu de caractères différent, ce qui est nécessaire si les données sont stockées dans plusieurs langues.
Prise en charge des données géographiques (OpenGIS)
Envoi d’avertissement amélioré. Si un seul ne suffit pas, MySQL 4.1 peut envoyer plusieurs avertissements au client, ce qui est très utile pour le traitement global des données.
Amélioration d'une certaine vitesse. Mais ces améliorations de vitesse peuvent être compensées par tout le poids supplémentaire que prend MySQL 4.1.
Même si le manuel MySQL est l'un des meilleurs manuels publiés, MySQL 4.1 est livré avec une commande HELP qui ne fonctionne qu'avec cette version.
Les tables dérivées sont prises en charge, telles que :
SELECT table1.field1 FROM table, (SELECT * FROM table2) table3 WHERE table1.field1=table3.field1
Prend en charge les requêtes sur plusieurs lignes, permettant d'exécuter plusieurs requêtes puis de lire les résultats finaux.
Diverses instructions de maintenance sont stockées dans le journal binaire, vous permettant de simplifier les tâches de maintenance lors de la réplication.
CREATE...LIKE permet aux développeurs de créer facilement de nouvelles tables avec la structure exacte des tables existantes.
De plus, trois fonctionnalités notables de MySQL 4.1 incluent : une prise en charge stable d'OpenSSL, davantage d'instructions de préparation aux tests et davantage de tests de plusieurs jeux de caractères pour une table.
MySQL 4.1 est peut-être la première version de MySQL qui « grandit ». En raison de certaines fonctionnalités et fonctionnalités nouvellement ajoutées dans la version 4.1 (telles que les données géographiques, les instructions de sous-sélection, les tables dérivées), Oracle a commencé à vraiment s'intéresser à MySQL pour la première fois.
MySQL 5.0
Prend en charge les procédures stockées. Les procédures stockées sont la norme ANSI SQL la plus couramment utilisée par les développeurs dans d'autres environnements de bases de données. Pour MySQL, cela est attendu depuis longtemps. La syntaxe des procédures stockées prises en charge par MySQL 5.0 est similaire à Oracle PL/SQL et T-SQL.
Programme déclencheur (appelé procédure stockée lorsqu'un événement se produit)
Pointeurs de support
Véritable prise en charge du type de données VARCHAR, résolvant un bug MySQL VARCHAR de longue date.
La prise en charge des index RTREE dans les tables MyISAM facilitera l'accès aux données géographiques.
MySQL 5.1
Par rapport à la version 5.0, MySQL 5.1 implémente quelques nouvelles fonctionnalités :
Sauvegarde en ligne (permet d'ajouter des esclaves de réplication sans arrêter le serveur maître).
Le type BIT occupe en réalité 1 bit et non 1 caractère.
réplication sécurisée
-