有关MySQL的数据库规范与日常经验
2015-08-28 00:00
204 查看
数据库所有命名都用小写,这样可以避免大小写在程序中不必要的错误检查。
数据库用db_开头,表名用tb_开头。
自增型id字段,用int(11)就好,占4个字节,如果快超出范围,要考虑分表了。
有关整形的字段,都要用unsigned,无符号范围更大
日期型字段用timestamp (14),
对于一般的整形字段,估计一下未来的数据量,如果仅仅是像分类表这样的category_id,可以考虑用小一点的范围类型mediumint (9)
某些用于判断状态的如status字段用tinyint(1)代替char(1)
注册时手机号码用int(11)代替varchar(11),搜索数字比字符串更快
IP地址用bigint代替varchar
在mysql5.6.4版之前,一个表里存在两个以上timestamp类型字段,只能设置其中一个默认值为CURRENT_TIMESTAMP,另外一个或几个都只能设置为0
SQL语句长度限制默认设置小于1M,超过会报错,如果要放大,在mysql的配置文件(my.ini)中的max_allowed_packet=10M 设置即可
数据库用db_开头,表名用tb_开头。
自增型id字段,用int(11)就好,占4个字节,如果快超出范围,要考虑分表了。
有关整形的字段,都要用unsigned,无符号范围更大
日期型字段用timestamp (14),
对于一般的整形字段,估计一下未来的数据量,如果仅仅是像分类表这样的category_id,可以考虑用小一点的范围类型mediumint (9)
某些用于判断状态的如status字段用tinyint(1)代替char(1)
注册时手机号码用int(11)代替varchar(11),搜索数字比字符串更快
IP地址用bigint代替varchar
在mysql5.6.4版之前,一个表里存在两个以上timestamp类型字段,只能设置其中一个默认值为CURRENT_TIMESTAMP,另外一个或几个都只能设置为0
SQL语句长度限制默认设置小于1M,超过会报错,如果要放大,在mysql的配置文件(my.ini)中的max_allowed_packet=10M 设置即可
相关文章推荐
- MySQL 通过bat命令备份windows下的mysql数据库
- mysql的多实例multi启动停止
- 解决MySQL导入备份文件到新数据库乱码问题
- mysql的启动停止
- 了解mysql的源码目录及源文件
- mysql各版本编译安装
- 性能测试培训总结-spotlight on mysql
- Flask连MySQL数据库
- 一些mysql数据库性能优化方法
- 性能测试培训总结-loadrunner测试mysql
- mysql查询表中的所有字段
- C#连接MySQL数据库的封装类
- 有关 MySQL数据库常见的误解
- Space is not allowed after parameter prefix ':' MySQL异常
- debian安装mysql
- mysql中的数据导入与导出
- mysql查询结果添加序列号
- liunx环境下安装mysql数据库
- mysql中count函数使用方法详解
- MYSQL索引无效和索引有效的详细情况