Maison > Article > base de données > Utilisation du moteur fédéré pour implémenter le stockage distribué et les requêtes de MySQL : analyse des performances et de l'évolutivité
Utilisation du moteur fédéré pour implémenter le stockage distribué et les requêtes de MySQL : analyse des performances et de l'évolutivité
1 Introduction
Avec la quantité croissante de données, les performances et la capacité de stockage d'un seul serveur MySQL peuvent ne pas être en mesure de répondre aux besoins de. l'entreprise, il faut donc en tenir compte. Utiliser une architecture distribuée pour le stockage et les requêtes. MySQL fournit un moteur fédéré, qui peut réaliser les fonctions de stockage distribué et de requête de MySQL. Cet article présentera comment implémenter le stockage distribué et les requêtes de MySQL via le moteur fédéré, et analysera les performances et l'évolutivité.
2. Présentation du moteur fédéré
Le moteur fédéré est un type de moteur spécial fourni par MySQL, qui peut réaliser un stockage distribué et une requête de données. Le moteur fédéré utilise des tables sur des serveurs distants comme tables locales de manière transparente. Les utilisateurs peuvent accéder directement aux données sur des serveurs distants pour implémenter des requêtes de données distribuées. Le moteur fédéré est utilisé de la même manière qu'une table MySQL ordinaire. Les utilisateurs peuvent utiliser des instructions SQL courantes pour interroger, insérer, mettre à jour et supprimer des données.
3. Configuration du moteur fédéré
Pour utiliser le moteur fédéré, vous devez d'abord activer le moteur fédéré dans le fichier de configuration MySQL. Modifiez le fichier de configuration MySQL, recherchez le contenu suivant et supprimez le commentaire :
[mysqld] ... federated
Redémarrez le serveur MySQL pour que la configuration prenne effet.
4. Créer une table fédérée
La syntaxe d'utilisation du moteur fédéré pour créer une table fédérée est similaire à la syntaxe de création d'une table ordinaire. Voici un exemple d'instruction SQL pour créer une table fédérée nommée federated_table
: federated_table
的Federated表:
CREATE TABLE federated_table ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, PRIMARY KEY (id) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 CONNECTION='mysql://username:password@remote_host:remote_port/remote_database/remote_table';
在上述语句中,federated_table
是Federated表的名称,id
是主键,name
是一个非空的字段。ENGINE=FEDERATED
指定了使用Federated引擎,CONNECTION
CREATE TABLE local_table ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;Dans l'instruction ci-dessus,
federated_table
est le nom de la table fédérée et id
est la clé primaire et name
est un champ non vide. ENGINE=FEDERATED
spécifie l'utilisation du moteur fédéré et CONNECTION
spécifie les informations de connexion du serveur distant, y compris le nom d'utilisateur, le mot de passe, l'hôte distant, le port distant, la base de données distante. et table distante.
5. Analyse des performances et de l'évolutivité
6. Résumé
CREATE TABLE federated_table ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, PRIMARY KEY (id) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 CONNECTION='mysql://username:password@remote_host:remote_port/remote_database/remote_table';
SELECT * FROM federated_table;
INSERT INTO federated_table (name) VALUES ('John Smith');
UPDATE federated_table SET name = 'Jane Doe' WHERE id = 1;
Mettre à jour les données
DELETE FROM federated_table WHERE id = 1;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!