zoukankan      html  css  js  c++  java
  • MySQL开发规范

    字段设计
    (1)建议使用UNSIGNED存储非负数值。
    (2)建议使用INT UNSIGNED存储IPV4。
    (4)INT类型固定占用4字节存储,例如INT(4)仅代表显示字符宽度为4位,不代表存储长度。
    (5)区分使用TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT数据类型。
    (6)强烈建议使用TINYINT来代替ENUM类型。
    (7)尽可能不使用TEXT、BLOB类型,如果要用尽量拆出去,再用主键关联。
    (8)禁止在数据库中存储明文密码。
    (9)使用VARBINARY存储大小写敏感的变长字符串或二进制内容。
    (10)使用尽可能小的VARCHAR字段。VARCHAR(N)中的N表示字符数而非字节数。
    (11)存储年使用YEAR类型。存储日期使用DATE类型。据分期乐存储时间(精确到秒)建议用datetime类型。
    (12)所有字段均定义为NOT NULL,尽量加上默认值如deafault ''或deafault 0
    (13)建议单个表不超过30个字段
     
     
    索引规范
    (1)单张表中索引数量不超过5个。
    (2)单个索引中的字段数不超过5个。
    (3)索引名必须全部使用小写。
    (4)非唯一索引按照"idx_字段名称[_字段名称]"进用行命名。例如idx_age_name。
    (5)唯一索引按照"uniq_字段名称[_字段名称]"进用行命名。例如uniq_age_name。
    (6)组合索引建议包含所有字段名,过长的字段名可以采用缩写形式。例如idx_age_name_add。
    (7)表必须有主键,推荐使用建立与业务无关的自增主键。
    (8)唯一键由3个以下字段组成,并且字段都是整形时,可使用唯一键作为主键。其他情况下,建议使用自增列或发号器作主键。
    (9)禁止冗余索引。
    (10)禁止重复索引。
    (11)禁止使用外键。
    (12)联表查询时,JOIN列的数据类型必须相同,并且要建立索引。
    (13)不在低基数列上建立索引,例如“性别”。
    (14)选择区分度大的列建立索引。组合索引中,区分度大的字段放在最前。
    (15)对字符串使用前缀索引,前缀索引长度不超过8个字符。
    (16)不对过长的VARCHAR字段建立索引。建议优先考虑前缀索引,或添加CRC32或MD5伪列并建立索引。
    (17)合理创建联合索引(a,b,c) 相当于 (a) 、(a,b) 、(a,b,c)。
    (18)合理使用覆盖索引减少IO,避免排序。
  • 相关阅读:
    丛铭俣 160809324 (作业5)
    丛铭俣 160809324 (作业4)
    丛铭俣 160809324 (作业3)
    丛铭俣 160809324 (作业2)
    系统设计的一些原则
    计算输入框的字符长度
    DateTime.ToLongDateString
    邮箱发送验证码
    .net core中加入日志
    .net core 将类库项目转移到一个新建的文件夹下面
  • 原文地址:https://www.cnblogs.com/wlmq/p/6117934.html
Copyright © 2011-2022 走看看