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. Servlet多文件上传方法

    1. 通过getInputStream()取得上传文件. 001 /** 002  * To change this template, choose Tools | Templates 003  * ...

  2. 我的Vue之小功能统计

    摘要:项目中经常会要用到大大小小的功能,所以我在这里进行一个汇总,后面会持续添加至这篇博客,希望当你遇到这个功能时,我的博客能够对你有帮助,(上一篇博客说要在收假后写一篇博客做一个年终总结,想了半天不 ...

  3. FSM有限状态机

    1.什么是有限状态机 有限状态机(Finite State Machine),简称FSM,它由一组有限个状态.输入和根据输入及现有状态转换为下一个状态的转换函数组成,当然,通常每个状态机都必须有一个初 ...

  4. msdn 中MethodBase.Invoke 方法 介绍中的坑

    模块开发总结: c#动态调用webservices 来自网络及使用心得. msdn: MethodBase.Invoke 方法 (Object, Object[]) 使用指定的参数调用当前实例所表示的 ...

  5. [转]SQL Server如何启用xp_cmdshell组件

    本文转自:https://www.cnblogs.com/atree/p/SQL_SERVER_xp_cmdshell.html 错误描述]: SQL Server阻止了对组件‘xp_cmdshell ...

  6. mui 百度语音识别转换文字

    前言 用mui混合开发的APP,现有一个功能需求就是语音转换成文字,并把语音进行保存.对此考虑两种选择讯飞和百度.最终选择了百度语音. 百度语音 通过官方文档我们大致可以确定如果想要实现语音识别,要做 ...

  7. 工程中添加工程依赖 Xcode iOS

    有时我们需要在一个主工程中添加其他的子工程,用来对子工程进行编写修改或者是利用子工程中的库文件等等操作,这时候我们需要用到工程的嵌套.   步骤:(看图说话)   1.新建主工程,名为TestTTTT ...

  8. JAVA实现加入收藏和设为首页---网摘

    JS:加入收藏夹<script language="javascript">function bookmark(){window.external.AddFavorit ...

  9. Tomcat配置JVM参数步骤

    这里向大家描述一下如何使用Tomcat配置JVM参数,Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机.您可以选择自己的需要选择不同的操作系统和对应的JDK ...

  10. hdu 2612

    Find a way Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...