mysql列类型选择

比如年龄这个字段可以使用  1990-03-15  也可以用  19900315表示
在列类型上可以选择 char 和 int;
如果一个字段可以选择多种类型,尽量选择一个更快的类型;
字段类型优先级   整型>date,time>char,varchar>blob
整型,time运算快,节省空间
char/varchar要考虑字符集的转换与排序的校对集,速度慢
blob无法使用内存临时表
enum类型 内部是用整型来存储的,所以速度也是跟int一样的,但是需要注意,如果enum存储的字符串和 char类型字段
关联查询,enum内部需要一次转化,要花时间,enum和char列关联的速度要慢于char和char,但是也要看情况具体分析;

如果确定要用int还可以考虑一下是否可以用 smallint/tinyint,
能够char(10)解决的不要用char(20)  ,不要太慷慨了;

尽量避免用NULL
NULL不利于索引,要 用特殊的字节来标注,在磁盘上占据的空间其实更大。

时间: 2024-10-16 03:10:40

mysql列类型选择的相关文章

六、mysql字段类型选择

1.char类型字段会自动删除字符串后面所带的空格,而varchar不会 2.char比varchar快..... 3.myisam 建议 char类型,memory char跟varchar一样,都作为char类型处理:innodb建议 varchar类型 4.optimize table 清理碎片 text碎片产生实例: create table emp (id tinying(1),content text)engine=myisam; 新建测试表 insert into emp valu

MySQL服务 - MySQL列类型、SQL模式、数据字典

一.MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长).是否能够被索引.如何被索引及如何排序等.在关系型数据库系统中,为了实现数据的易于管理,必须为表字段(列)指定对应的列类型.MySQL的列类型可以分为4类:字符型.数值型.日期及时间型.自有类型. 1.字符型: 字符型限定值只能为字符,MySQL的字符类型如下: 类型 最大字符长度 名称及特性 char 2

mysql 列类型以及属性特点

整形列: 一个字节有8个位,例如:int 类型的列存入数字1,00000000 00000000 00000000 00000001它就在最低位置上存入一个1,由此可见是极大的浪费资源,所以在建立列类型的时候,依实际情况而定. 整型列的可选属性有: unsigned 非负 zerofill 零填充 (M)M表示固定宽度,它主要用于学号编码等,可以用0填至固定宽度.注意:有零填充的列数据库默认为unsigned,即非负. 例如:存入当前列数字1,固定宽度设置5,则存入数据库的数据显示为00001

Mysql列类型

数值型 整型: tinyint:微小的列类型,1个字节,默认有符号,存储范围:-128--127 可选属性:tingyint(M) unsigned zerofill M:宽度(在0填充(zerofill)时才有效),只是显示效果,不影响实际数据的存储范围;unsigned:无符号类型 注意:如果某列是zerofill,那么则是unsigned. smallint:2个字节 mediumint:3个字节 int:4个字节 bigint:8个字节 举例: 创建一个表: 1 create table

表的优化与列类型选择

列选择原则:1:字段类型优先级 整型 > date,time > enum,char>varchar > blob列的特点分析:整型: 定长,没有国家/地区之分,没有字符集的差异time定长,运算快,节省空间. 考虑时区,写sql时不方便 where > '2005-10-12';enum: 能起来约束值的目的, 内部用整型来存储,但与char联查时,内部要经历串与值的转化Char 定长, 考虑字符集和(排序)校对集varchar, 不定长 要考虑字符集的转换与排序时的校对集

06、MySQL—列类型

1.整数类型 I.有符号整型 (1) Tinyint:单字节整形,系统采用一个字节来保存的整形:一个字节 = 8位,最大能表示的数值是0-255. (2) Smallint:双字节整形,系统采用两个字节来保存的整形:能表示0-65535之间 (3) Mediumint:三字节整形,采用三个字节来保存数据 (4) Int:整形(标准整形),采用四个字节来保存数据 (5) Bigint:大整形,采用八个字节来保存数据. ① 创建数据表 ② 插入合理数据 ③ 插入错误数据(超出对应的数据范围) 错误原

如何正确选择MySQL数据列类型

MySQL数据列类型选择是在我们设计表的时候经常会遇到的问题,下面就教您如何正确选择MySQL数据列类型,供您参考学习. 选择正确的数据列类型能大大提高数据库的性能和使数据库具有高扩展性.在选择MySQL数据列类型时,请从以下几个方面考虑: 存放到数据列中的数据类型. 数据值的取值范围. 考虑性能和处理效率. 数值操作比字符操作快. 小类型的处理速度比大类型快. 不同数据表中固定长度类型和可变长度类型的处理效率是不同的. 可变长度类型在经过删除和修改操作后容易产生碎片,降低系统性能,需定期运行O

MySQL 常用列类型

日期和时间类型为DATETIME.DATE.TIMESTAMP.TIME和YEAR. 注意:在MySQL中,日期时间值使用单引号引起来. 相当于Java中Date,Calender. 最常用的整数类型: MySQL列类型 Java数据类型 ------------------------------------------------------- INT/INTEGER: int/Integer BIGINT: long/Long -------------------------------

DJango一对一查询,ORM 列类型及列参数

一对一查询 表的创建 # 通过 OneToOneField 创建一对一的关系 from django.db import models # Create your models here. class StaffInfo(models.Model): name = models.CharField(max_length=32, null=True) age = models.CharField(max_length=32, null=True) class Salary(models.Model