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!
原文地址:https://www.cnblogs.com/Shadowplay/p/8794085.html