首页/应用软件/内容

MySQL数据分类与存储机制详细说明

应用软件2022-10-23 阅读()
+----+-------------+--------+5 rows in set

ENUM类型的数据存储时是通过index数值进行存储的,相比于字符串类型,它只需要1或2个字节进行存储即可理论上,当value的数量少于256个时只需一个字节,超出256个但少于65536个时使用2个字节存储。MySQL/MariaDB限制最多只能存储65536个value。当然,这是理论上的限制,实际存储时要考虑的因素有很多,例如NULL也会占用bit位,所以实际存储时可能250个value就需要2个字节。

ENUM的每个value都通过index号码进行编号,无论是检索还是操作该字段时都会通过index的值来操作。value1的index=1,value2的index=2,依次类推。但需要注意有两个特殊的index值:NULL值的index=NULL,空数据的index=0。

例如ENUM('a','b','c'),向该字段依次插入'','b','a','c',NULL,'xxx'时,由于第一个和最后一个都会截断为空数据,所以它们的index为0,插入的NULL的index为NULL,插入的'b','a','c'的index值分别为2,1,3。所以index号码和值的对应关系为:

indexvalue
NULLNULL
0''
0''
1'a'
2'b'
3'c'

使用ENUM的index进行数据检索:

mysql> select * from test6 where gender=2;
+----+-------------+--------+
(北联网教程,专业提供视频软件下载)

第1页  第2页  第3页  第4页  第5页  第6页  第7页  第8页  第9页  第10页  第11页  第12页  第13页  第14页  第15页  第16页  第17页  第18页  第19页  第20页  第21页  第22页  第23页  第24页  第25页  第26页  第27页  第28页  第29页  第30页  第31页  第32页  第33页  第34页  第35页  第36页  第37页  第38页  第39页  第40页  第41页  第42页  第43页  第44页  第45页  第46页  第47页  第48页  第49页  第50页  第51页  第52页  第53页  第54页  第55页  第56页  第57页  第58页  第59页  第60页  第61页  第62页  第63页  第64页  第65页  第66页  第67页  第68页  第69页  第70页  第71页  第72页  第73页  第74页  第75页  第76页  第77页  第78页  第79页  第80页  第81页  第82页  第83页  第84页  第85页  第86页  第87页  第88页  第89页  第90页  第91页  第92页  第93页  第94页  第95页  第96页  第97页  第98页  第99页  第100页  第101页  第102页  第103页  第104页  第105页  第106页  第107页  第108页  第109页  第110页  第111页  第112页  第113页  第114页  第115页  第116页  第117页  第118页  第119页  第120页  第121页  第122页  第123页  第124页  第125页 

……

相关阅读