• MySql数据库表设计规范


    建表规约

    索引规约

    SQL 语句

     

     其他实战建议

    选用utf8编码

    可以将 MySql 的字符集由 utf8 调整为 utf8mb4。utf8mb4 是 MySql 在 5.5.3 版本之后增加的一个编码方式,用来兼容四字节的 Unicode(包括 Emoji)。

    理论上,utf8mb4 是 utf8 的超集,其中 mb4 是 most bytes 4 的意思,将字符集修改为“utf8mb4”,并不会对已有的 utf8 编码读取产生任何问题。

    但通常这种方式并不是最优解,因为应用层还需要将 MySql 的连接方式作出以下调整:

    jdbcUrl = jdbc:mysql://localhost/jfinal_demo?characterEncoding=utf8mb4&useSSL=false&zeroDateTimeBehavior=convertToNull

     

    建议使用InnoDB存储引擎

    建议每张表都设置一个主键

    建议字段定义为NOT NULL

    唯一值字段要指定唯一性约束

    ALTER TABLE USER  ADD UNIQUE (CEmail)

    不建议使用ENUM类型,使用TINYINT来代替

    存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE

    建议使用INT UNSIGNED存储IPV4

    VARCHAR(N),N尽可能小,因为MySQL一个表中所有的VARCHAR字段最大长度是65535个字节,进行排序和创建临时表一类的内存操作时,会使用N的长度申请内存。

    存储年使用YEAR类型,存储日期使用DATE类型,存储时间(精确到秒)建议使用TIMESTAMP类型,因为TIMESTAMP使用4字节,DATETIME使用8个字节。

    效率来说基本是char>varchar>text,但是如果使用的是Innodb引擎的话,推荐使用varchar代替char。

  • 相关阅读:
    Android logcat命令详解
    使用Dom4j操作XML
    最全面的常用正则表达式大全
    struts.xml配置文件(package,namespace,action)
    ActiveMQ入门实例
    Windows Intel VT-x开启
    Java ArrayList的不同排序方法
    Hibernate面试问题集锦: 概述
    10个有关String的面试问题
    50道Java线程面试题
  • 原文地址:https://www.cnblogs.com/cnki/p/6263093.html
Copyright © 2020-2023  润新知