MySQL利用procedure analyse()函數(shù)優(yōu)化表結(jié)構(gòu)
簡(jiǎn)介
procedure analyse()
函數(shù)是MySQL內(nèi)置的對(duì)MySQL字段值進(jìn)行統(tǒng)計(jì)分析后給出建議的字段類型。
語(yǔ)法
procesure analyse(max_elements,max_memory)
max_elements
指定每列非重復(fù)值的最大值,當(dāng)超過(guò)這個(gè)值的時(shí)候,MySQL不會(huì)推薦enum類型。
max_memory
analyse()
為每列找出所有非重復(fù)值所采用的最大內(nèi)存大小。
實(shí)戰(zhàn)演練
# 對(duì)t1表所有的列進(jìn)行分析 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)
總結(jié)
以上就是關(guān)于MySQL中procedure analyse()函數(shù)的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
MySQL實(shí)現(xiàn)當(dāng)前數(shù)據(jù)表的所有時(shí)間都增加或減少指定的時(shí)間間隔(推薦)
這篇文章主要介紹了MySQL實(shí)現(xiàn)當(dāng)前數(shù)據(jù)表的所有時(shí)間都增加或減少指定的時(shí)間間隔,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02MySQL故障切換筆記之應(yīng)用無(wú)感知設(shè)計(jì)詳解
這篇文章主要給大家介紹了關(guān)于MySQL故障切換筆記之應(yīng)用無(wú)感知設(shè)計(jì)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08windows下mysql?8.0.27?安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了windows下mysql?8.0.27?安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04解析sql語(yǔ)句中l(wèi)eft_join、inner_join中的on與where的區(qū)別
以下是對(duì)在sql語(yǔ)句中l(wèi)eft_join、inner_join中的on與where的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07MySql使用mysqldump 導(dǎo)入與導(dǎo)出方法總結(jié)
這篇文章主要介紹了MySql使用mysqldump 導(dǎo)入與導(dǎo)出方法總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09解決MySQL數(shù)據(jù)庫(kù)中文模糊檢索問(wèn)題的方法
解決MySQL數(shù)據(jù)庫(kù)中文模糊檢索問(wèn)題的方法...2007-11-11小心陷阱!MySQL中處理Null時(shí)需注意兩點(diǎn)
這篇文章主要為大家介紹了MySQL中處理Null時(shí)需注意的兩點(diǎn),很關(guān)鍵的兩點(diǎn),大家千萬(wàn)要小心2016-06-06Mysql事項(xiàng),視圖,函數(shù),觸發(fā)器命令(詳解)
下面小編就為大家?guī)?lái)一篇Mysql事項(xiàng),視圖,函數(shù),觸發(fā)器命令(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11Windows下mysql 5.7 設(shè)置區(qū)分大小寫(敏感),設(shè)置默認(rèn)編碼 utf8mb4
最近需要將Windows下的mysql 5.7設(shè)置區(qū)分大小寫(敏感),設(shè)置默認(rèn)編碼 utf8mb4,需要的朋友可以參考下2022-10-10