MySql基础笔记(三)其他重要的事情
其他重要的事情
一)索引管理优化
1.把多条alter语句整合为一条
2.去除重复的索引
1)当一个索引的最左边部分包含到其他索引中时,被认定为重复索引
create table user( id int primary key auto_increment, name varchar(88), address varchar(99), age tinyint, index m1 (name, address), index m2 (name, age) );
2)主键不需要额外添加为索引
3.删除不用的索引
二)数据类型相关的改进
1.BIGINT和INT
在auto_increment列上把BIGINT改为int unsigned.这样能显著减少索引所需要的空间。
2.DATETIME和TIMESTAMP
datetime:占用8字节,支持所有可能的时间日期值。
timestamp:占用4字节,记录的时间是纪元值,默认值为0切不能为null
3.ENUM
enum类型适合存储静态代码值,用一个字节存储了255个不同的值
gender ENUM('Male','Female') NOT NULL
4.NULL 和 NOT NULL
能定义为not null就定义为not null
5.IP地址
IP4 地址应该被定义为INT UNSIGNED类型
IP6用BINARY(16)
6.MD5
用char(32)存储MD5
三)简化SQL语句
Simple is important!