Maison  >  Article  >  base de données  >  Comment compresser et décompresser des données dans MySQL ?

Comment compresser et décompresser des données dans MySQL ?

WBOY
WBOYoriginal
2023-07-30 13:43:482698parcourir

MySQL est un système de gestion de bases de données relationnelles largement utilisé qui prend en charge les fonctions de compression et de décompression des données. Lors du stockage et du traitement de données à grande échelle, la compression des données peut réduire considérablement l'utilisation de l'espace de stockage et améliorer l'efficacité de la transmission des données. Cet article présentera comment implémenter la compression et la décompression des données dans MySQL et donnera des exemples de code correspondants.

1. Compresser les données

MySQL fournit une variété d'algorithmes de compression, tels que LZ4, Zlib, Snappy, etc. Dans MySQL 5.7.17 et versions ultérieures, le moteur de stockage InnoDB prend en charge l'utilisation de l'algorithme Zlib pour compresser les données de ligne par défaut. La compression des données peut être activée en suivant les étapes suivantes :

  1. Configurez les paramètres de compression d'InnoDB

Dans le fichier de configuration MySQL my.cnf ou my.ini, recherchez la section de [mysqld] et ajoutez la configuration suivante :

[mysqld]
innodb_file_format=Barracuda
innodb_file_per_table=ON
innodb_file_compression=ON

Où , innodb_file_format doit être défini au format Barracuda, et innodb_file_per_table et innodb_file_compression doivent être définis sur ON. Redémarrez ensuite le service MySQL pour que la configuration prenne effet.

  1. Création de tableaux compressés

La compression peut être activée en utilisant l'option ROW_FORMAT=COMPRESSED lors de la création d'un tableau. Par exemple, créez une table nommée employés et compressez ses données de ligne :

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
) ROW_FORMAT=COMPRESSED;
  1. Compressez une table existante

Si la table a été créée, mais que la compression n'est pas activée, vous pouvez utiliser l'instruction ALTER TABLE pour compresser la table. Par exemple, pour compresser la table des employés :

ALTER TABLE employees ROW_FORMAT=COMPRESSED;

2. Décompresser les données

MySQL décompressera automatiquement les données compressées lors de l'interrogation, et les utilisateurs n'auront pas besoin d'effectuer d'opérations supplémentaires lors de l'interrogation.

3. Impact sur les performances de la compression et de la décompression des données

La compression et la décompression des données auront un certain impact sur les performances du système. Les opérations de compression consomment des ressources CPU, tandis que les opérations de décompression réduisent les performances des requêtes. Par conséquent, lors de l’utilisation de la fonction de compression des données, des compromis doivent être faits en fonction de la situation réelle.

4. Exemple de code

Ce qui suit est un exemple de code qui utilise MySQL pour la compression et la décompression des données :

-- 创建压缩表
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT
) ROW_FORMAT=COMPRESSED;

-- 插入数据
INSERT INTO employees (id, name, age) VALUES (1, 'John', 25);
INSERT INTO employees (id, name, age) VALUES (2, 'Mary', 30);

-- 查询数据
SELECT * FROM employees;

Dans l'exemple ci-dessus, une table nommée employés est d'abord créée et ses données de ligne sont compressées. Ensuite, deux éléments de données ont été insérés et les données ont été interrogées via l'instruction SELECT. MySQL décompressera automatiquement les données compressées lors de la requête et renverra les données originales.

Résumé :
Dans MySQL, vous pouvez activer la compression des données en configurant les paramètres d'InnoDB et créer une table compressée à l'aide de l'option ROW_FORMAT=COMPRESSED. Les données compressées sont automatiquement décompressées lorsqu'elles sont interrogées. En utilisation réelle, l'impact de la compression et de la décompression sur les performances du système doit être évalué. Ce qui précède est une introduction à la façon de compresser et décompresser des données dans MySQL et aux exemples de code correspondants.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn