Maison > Article > base de données > MySQL utilise la fonction de procédure analyse() pour optimiser la structure de la table
Système de gestion de bases de données relationnelles MySQL
MySQL est un petit système de gestion de bases de données relationnelles open source développé par la société suédoise MySQL AB. MySQL est largement utilisé sur les sites Web de petite et moyenne taille sur Internet. En raison de sa petite taille, de sa vitesse rapide, de son faible coût total de possession et surtout des caractéristiques de l'open source, de nombreux sites Web de petite et moyenne taille choisissent MySQL comme base de données de site Web afin de réduire le coût total de possession d'un site Web.
Je me demande si vous avez déjà été frustré par le type de champs à choisir pour la structure de table MySQL ? Ou ne savez-vous pas quelle longueur choisir pour un champ MySQL ? Dans l'article suivant, je vais vous présenter un secret d'arts martiaux que je n'ai appris que récemment. Les amis intéressés peuvent y jeter un œil ci-dessous.
Introduction
La fonction de procédure analyse() est le type de champ intégré de MySQL qui effectue une analyse statistique sur les valeurs des champs MySQL et donne des suggestions.
Syntaxe
procesure analyse(max_elements,max_memory)
max_elements
Spécifie la valeur maximale des valeurs non répétitives dans chaque colonne Lorsque cette valeur est dépassée, MySQL ne le fera pas. recommander le type enum.
max_memory
analyse() trouve la taille de mémoire maximale utilisée pour toutes les valeurs distinctes de chaque colonne.
Exercice pratique
# 对t1表所有的列进行分析 wing@3306>show create table t1; +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ | t1 | CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `name` varchar(16) DEFAULT NULL, `score` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) wing@3306>select * from t1 procedure analyse(4); +---------------+-----------+-----------+------------+------------+------------------+-------+-------------------------+-------------+---------------------------+ | Field_name | Min_value | Max_value | Min_length | Max_length | Empties_or_zeros | Nulls | Avg_value_or_avg_length | Std | Optimal_fieldtype | +---------------+-----------+-----------+------------+------------+------------------+-------+-------------------------+-------------+---------------------------+ | wing.t1.id | 1 | 200000 | 1 | 6 | 0 | 0 | 100000.5000 | 116099.2790 | MEDIUMINT(6) UNSIGNED NOT NULL | | wing.t1.name | 000jxc6V | zzznmkcX | 8 | 8 | 0 | 0 | 8.0000 | NULL | CHAR(8) NOT NULL | | wing.t1.score | 1 | 100 | 1 | 3 | 0 | 0 | 50.4889 | 28.8768 | TINYINT(3) UNSIGNED NOT NULL | +---------------+-----------+-----------+------------+------------+------------------+-------+-------------------------+-------------+---------------------------+ 3 rows in set (0.14 sec)
Résumé
Ce qui précède concerne la fonction de procédure analyse() dans MySQL. Pour plus de contenu connexe, veuillez prêter attention à. PHP Chinese Net (www.php.cn) !