Relationales MySQL-Datenbankverwaltungssystem
MySQL ist ein kleines relationales Open-Source-Datenbankverwaltungssystem, das von der schwedischen Firma MySQL AB entwickelt wurde. MySQL wird häufig auf kleinen und mittelgroßen Websites im Internet verwendet. Aufgrund der geringen Größe, der hohen Geschwindigkeit, der niedrigen Gesamtbetriebskosten und insbesondere der Eigenschaften von Open Source wählen viele kleine und mittlere Websites MySQL als Website-Datenbank, um die Gesamtbetriebskosten der Website zu senken.
Ich frage mich, ob Sie jemals frustriert darüber waren, welche Art von Feldern Sie für die MySQL-Tabellenstruktur auswählen sollten? Oder sind Sie unsicher, welche Länge Sie für ein MySQL-Feld wählen sollen? Im folgenden Artikel werde ich Ihnen ein Kampfkunstgeheimnis vorstellen, das ich erst kürzlich erfahren habe. Interessierte können unten einen Blick darauf werfen.
Einführung
Die Prozedur-Analyse()-Funktion ist der in MySQL integrierte Feldtyp, der statistische Analysen für MySQL-Feldwerte durchführt und Vorschläge macht.
Syntax
procesure analyse(max_elements,max_memory)
max_elements
Gibt den Maximalwert der sich nicht wiederholenden Werte in jeder Spalte an. Wenn dieser Wert überschritten wird, wird MySQL dies nicht tun Empfehlen Sie den Enum-Typ.
max_memory
analyse() ermittelt die maximale Speichergröße, die für alle unterschiedlichen Werte für jede Spalte verwendet wird.
Praktische Übung
# 对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)
Zusammenfassung
Das Obige dreht sich alles um die Funktion „analyze()“ in MySQL. Weitere verwandte Inhalte finden Sie hier PHP Chinese Net (www.php.cn)!