1 库名,表名,字段名必须使用小写字母,"_"分割。
2 库名,表名,字段名必须不超过12个字符。
3 库名,表名,字段名见名识意,建议使用名词而不是动词。
4 建议使用InnoDB存储引擎。( InnoDB:支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。如果有大量的update和insert,建议使用InnoDB,特别是针对多个并发和QPS较高的情况。)
5 存储精确浮点数必需使用DECIMAL替代FLOAT和DOUBLE。( float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,用于定义货币要求精确度高的数据。在数据迁移中)
6 建议使用UNSIGNED存储非负数值。(无负数则用unsigned可以提高范围)
7 建议使用INT UNSIGNED存储IPV4。( UNSINGED INT存储IP地址占用4字节,CHAR(15)则占用15字节。计算机处理整数类型比字符串类型快。)
8 整形定义中不添加长度,比如使用INT,而不是INT(4)。( int类型作为计算机最自然的类型,速度相比其他同类类型运算速度更快。不规定大小就是为了适应各类不同机器还有同样的效果)
9 使用短数据类型,比如取值范围为0-80时,使用TINYINT UNSIGNED。( 更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少)
10 不建议使用ENUM类型,使用TINYINT来代替。(php是弱类型语言)
11 尽可能不使用TEXT,BLOB类型。(
(1)索引排序问题,只能使用max_sort_length的长度或者手工指定ORDER BY SUBSTRING(column,length)的长度来排序

(2) Memory引擘不支持text,blog类型,会在磁盘上生成临时表

(3) 可能浪费更多的空间

(4) 可能无法使用adaptive hash index

(5)导致使用where没有索引的语句变慢
12 VARCHAR(N),N表示的是字符数不是字节数,比如VARCHAR(255),可以最大存储255个汉字,需要根据实际的宽度来选择N。
13 VARCHAR(N),N尽可能小,因为MYSQL一个表中所有的VARCHAR字段最大长度是65535个字段,进行排序和创建临时表一类的内存操作时,会使用N的长度申请内存。
14 表字符集选择UTF8。(
(1) 使用utf8字符集,如果是汉字,占3个字节,但ASCII码字符还是1个字节。
(2) 统一,不会有转换产生乱码风险
(3) 其他地区的用户(美国、印度、台湾)无需安装简体中文支持,就能正常看您的文字,并且不会出现乱码
d)ISO-8859-1编码(latin1)使用了单字节内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。即把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题,保存的是原封不动的字节流。
15 使用VARBINARY存储变长字符串。
16 存储年使用YEAR类型。
17 存储日期使用DATE类型。(mysql会自动截取日期信息)
18 存储时间(精确到秒)建议使用TIMESTAMP类型,因为TIMESTAMP使用4字节,DATETIME使用8个字节。
19 建议字段定义为NOT NULL。(not null的效率比null高)
20 将过大字段拆分到其他表中。(执行效率更快)
21 禁止在数据库中使用VARBINARY,BLOB存储图片,文件等。( 采用分布式系统更高效)
22 表结构变更需要通知DBA审核。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

mysql创建表的注意事项的更多相关文章

  1. mysql 创建表时注意事项

    mysql  创建表时注意事项 mysql 想必大家都不会陌生吧  是我学习中第一个接触的的数据库 已学习就很快上手的   这是一个关系型数据库  不懂什么是关系型数据库 啊哈哈哈  现在知道啦  因 ...

  2. oracle与mysql创建表时的区别

    oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer ), mid ), time dat ...

  3. 【转载】Mysql创建表时报错error150

    从mysql数据库中导出正常数据库的脚本语句,而后使用脚本语句创建数据库的过程中,执行语句提示Can't Create Table 'XXX' erro150的错误,语句执行中断,创建table失败, ...

  4. MySQL 创建表时,设置时间字段自己主动插入当前时间

    MySQL 创建表时,设置时间字段自己主动插入当前时间 DROP TABLE IF EXISTS `CONTENT`; CREATE TABLE `CONTENT` ( `ID` char(20) N ...

  5. Python MySQL 创建表

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  6. mysql创建表分区

    MySQL创建表分区 create table erp_bill_index( id int primary key auto_increment, addtime datetime ); inser ...

  7. MYSQL创建表的约束条件(可选)

    一.常用的一些约束条件 一.创建表的完整语法1.创建表的万能模板:create table 库名.表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型 ...

  8. MySQL 创建表

     MySQL中create table语句的基本语法是: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,. ...

  9. MySQL创建表的语句

    show variables like 'character_set_client';#查询字符集 show databases;#列出所有的服务器上的数据库alter create database ...

随机推荐

  1. The version of SOS does not match the version of CLR you are debugging; SOS.dll版本不匹配; Dump文件不同环境mscordacwks.dll版本问题

    The version of SOS does not match the version of CLR you are debugging 和 PDB symbol for clr.dll not ...

  2. ANTLR4权威指南 - 第6章 尝试一些实际中的语法

    第6章 尝试一些实际中的语法 在前一章,我们学习了通用词法结构和语法结构,并学习了如何用ANTLR的语法来表述这些结构.现在,是时候把我们学到的这些用来构建一些现实世界中的语法了.我们的主要目标是,怎 ...

  3. UOJ #357. 【JOI2017春季合宿】Sparklers

    Description 小S和小M去看花火大会. 一共有 n 个人按顺序排成一排,每个人手上有一个仅能被点燃一次的烟花.最开始时第 K 个人手上的烟花是点燃的. 烟花最多能燃烧 T 时间.每当两个人的 ...

  4. 【手记】解决VS2010宏功能报错

    抱歉问题解决前没留截图,总之就是使用宏相关的功能都打不开,会弹窗报错,英文,大意是[一个或多个组件不存在,请尝试重装]. 尝试过: 修复安装VS2010 按此文照做:https://visualstu ...

  5. Java基础教程(16)--注解

    一.注解基础知识 1.注解的格式   最简单的注解就像下面这样: @Entity   @符号指示编译器其后面的内容是注解.在下面的例子中,注解的名称为Override: @Override void ...

  6. Graphviz 的命令行参数说明

    所有的Graphviz程序都具有相似的命令行调用方式 cmd [ flags] [input files] 如果没有指定输入文件路径程序从标准输入stdin中读取. 参数设置  -Gname ...

  7. java网络编程(TCP详解)

    网络编程详解-TCP 一,TCP协议的特点              面向连接的协议(有发送端就一定要有接收端)    通过三次连接握手建立连接 通过四次握手断开连接 基于IO流传输数据 传输数据大小 ...

  8. SESSION机制(转)

    转自:http://www.cnblogs.com/zyf-zhaoyafei/p/4477175.html 一:Session与Cookie Session:在服务器端创建并存放在服务器的内存中的, ...

  9. react里 MD5加密

    https://www.f2td.com/2018/11/13/encrypt-the-user-password-with-md5/

  10. JavaSE (二)

    this关键字 当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this. 用法:对当前对象的默认引用 调用自己的的构造方法. 用在构造方法内部,区 ...