数据库优化
例 1:创建表
CREATE TABLE company (
company_id int UNSIGNED NOT NULL AUTO_INCREMENT,
company_name char(50) NOT NULL,
review_status tinyint NOT NULL COMMENT '状态,1-正常,2-停用',
create_time timestamp NOT NULL,
update_time timestamp NOT NULL,
PRIMARY KEY (company_id)
) ENGINE = InnoDB CHARSET = utf8 COMMENT '公司基本信息';优化过程
1. char(50) 的使用问题
char(50) 的使用问题问题:
改进建议:
2. review_status 字段设计问题
review_status 字段设计问题问题:
改进建议:
3. 时间字段的默认值问题
问题:
改进建议:
4. 表注释和字段注释的规范化
问题:
改进建议:
5. 字符集问题
问题:
改进建议:
6. 缺少唯一约束或索引
问题:
改进建议:
7. 缺少外键关联
问题:
改进建议:
最终优化后的 SQL
总结
Last updated