加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.52wenzhou.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql实例MySQL 请选择合适的列

发布时间:2020-12-24 11:35:40 所属栏目:MySql教程 来源:网络整理
导读:《Mysql实例MySQL 请选择合适的列》要点: 本文介绍了Mysql实例MySQL 请选择合适的列,希望对您有用。如果有疑问,可以联系我们。 思维导图 点击图片,可查看大图. MYSQL学习 介绍 ?情况:如果你的表结构设计不良或你的索引设计不佳,那么请你优化你的表结构设

Mysql实例MySQL 请选择合适的列

MYSQL学习

? ?3、text 用于保存大量数据.   (1)InnoDB在它们较大的时候会使用“外部”存储区域来进行保存.――所以需要足够的外部存储空间来保存实际的值.   (2)排序方式不同于其他字符类型,不会按照完整长度进行排序,而只是按照max_sort_length规定的前若干个字节进行排序. ?

Mysql实例MySQL 请选择合适的列

MYSQL学习

Mysql实例MySQL 请选择合适的列

MYSQL学习

  4、使用ENUM代替字符串类型   (1)ENUM列可以存储65 535个不同的字符串.   (2)以紧凑方式保存.根据列表中值的数量,把它们压缩到1到2个字节中.   (3)MySQL在内部把每个值都保存为整数,以表示值在列表中的位置.   (4)保留了一份“查找表”,来表示整数和字符串在表的.frm文件中的映射关系.   (5)ENUM字符列是固定的,添加、删除字符串须使用ALTER TABLE.   (6)使用案例:权限表中使用ENUM来保存Y值和N值. ?使用方法:

Mysql实例MySQL 请选择合适的列

MYSQL学习

? ? ? ? ? ?

Mysql实例MySQL 请选择合适的列

??MYSQL学习

Mysql实例MySQL 请选择合适的列

MYSQL学习

在对enum列使用order by的时候,是按数字排序的,而不是字符串排序.MYSQL学习

Mysql实例MySQL 请选择合适的列

MYSQL学习

日期和时间类型MYSQL学习

DATETIME:保存大范围的值.封装格式:YYYYMMDDHHMMSS.――与时区无关,使用8字节存储空间.

TIMESTAMP:保存自1970年1月1日午夜(格林尼治标准时间)以来的秒数.――使用4字节存储空间.MYSQL学习

通常使用TIMESTAMP,它比DATETIME更节约空间.有时人们把Unix的时间戳保存为整数值,但是这通常没有任何好处.――这种格式处理起来不太方便,我们并不推荐它.MYSQL学习

?? ?经验交谈 ?   1、我们在为列选择数据类型的时候,不仅要考虑存储类型大小,还要考虑MySQL如何对它们进行计算和比较.例如:MySQL在内部把ENUM和SET类型保存为整数,但是在比较的时候把它们转换为字符串. ?   2、我们要在相关表中使用同样的类型,类型之间要精确匹配,包括诸如UNSIGNED这样的属性. ?   3、混合不同的数据类型会导致性能问题,即使没有性能问题,隐式的类型转换也能导致难以察觉的错误. ?   4、选择最小的数据类型要考虑将来留出的增长空间.如,中国的省份,我们知道不会有成千上万个,因此不必用INT.TINYINT就足够了,它比INT小3字节. ?   5、整数通常是最佳的数据类型,因为它速度快,并且能使用AUTO_INCREMENT. ?   6、要尽可能避免字符串做为列的数据类型,因为它们占用了很多空间并且通常必整数类型要慢.MyISAM默认情况下为字符串使用了压缩索引,这使查找更为缓慢. ?    总结 ? 若有错误,望请大侠指教一、二,不胜感激! ? 参考文献:《高性能MYSQL》

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读