SQL优化规则_08_Column相关 - 01

不建议使用SELECT * 类型查询

  • Content:当表结构变更时,使用*通配符选择所有列将导致查询的含义和行为会发生更改,可能导致查询返回更多的数据。
  • Case:
select * from tbl where id=1

INSERT未指定列名

  • Content:当表结构发生变更,如果INSERT或REPLACE请求不明确指定列名,请求的结果将会与预想的不同; 建议使用“INSERT INTO tbl(col1,col2)VALUES …”代替。
  • Case:
insert into tbl values(1,'name')

建议修改自增ID为无符号类型

  • Content:建议修改自增ID为无符号类型
  • Case:
create table test(`id` int(11) NOT NULL AUTO_INCREMENT)

请为列添加默认值

  • Content:请为列添加默认值,如果是ALTER操作,请不要忘记将原字段的默认值写上。字段无默认值,当表较大时无法在线变更表结构。
  • Case:
CREATE TABLE tbl (col int) ENGINE=InnoDB;

列未添加注释

  • Content:建议对表中每个列添加注释,来明确每个列在表中的含义及作用。
  • Case:
CREATE TABLE tbl (col int) ENGINE=InnoDB;
    原文作者:在水一方_Eric
    原文地址: https://www.jianshu.com/p/220f4709da1a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞