您当前的位置:首页 > 电脑百科 > 数据库 > MYSQL

一份非常完整的 MySQL 规范

时间:2019-10-31 14:52:34  来源:  作者:

· 所有数据库对象名称必须使用小写字母并用下划线分割

· 所有数据库对象名称禁止使用MySQL保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)

· 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符

· 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀

· 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索 引失效,导致查询效率降低)

1、所有表必须使用Innodb存储引擎

没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,5.6以后默认的为Innodb)Innodb 支持事务,支持行级锁,更好的恢复性,高并发下性能更好

2、数据库和表的字符集统一使用UTF8

兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效

3、所有表和字段都需要添加注释

使用comment从句添加表和列的备注 从一开始就进行数据字典的维护

4、尽量控制单表数据量的大小,建议控制在500万以内

500万并不是MySQL数据库的限制,过大会造成修改表结构,备份,恢复都会有很大的问题

可以用历史数据归档(应用于日志数据),分库分表(应用于业务数据)等手段来控制数据量大小

5、谨慎使用MySQL分区表

分区表在物理上表现为多个文件,在逻辑上表现为一个表 谨慎选择分区键,跨分区查询效率可能更低 建议采用物理分表的方式管理大数据

6、尽量做到冷热数据分离,减小表的宽度

MySQL限制每个表最多存储4096列,并且每一行数据的大小不能超过65535字节 减少磁盘IO,保证热数据的内存缓存命中率(表越宽,把表装载进内存缓冲池时所占用的内存也就越大,也会消耗更多的IO) 更有效的利用缓存,避免读入无用的冷数据 经常一起使用的列放到一个表中(避免更多的关联操作)

7、禁止在表中建立预留字段

预留字段的命名很难做到见名识义 预留字段无法确认存储的数据类型,所以无法选择合适的类型 对预留字段类型的修改,会对表进行锁定



Tags:MySQL   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关推荐
前言在之前我们已经讲解了一主一从,双主双从的mysql集群搭建,在单机应用的时候看起来没有问题,但是在企业的生产环境中,在很多情况下都会有复制延迟的问题。所以我来了!!!​ 主从复...【详细内容】
2021-07-15  Tags: MySQL  点击:(2)  评论:(0)  加入收藏
集群服务部署1、配置主库映射文件 键名mysqld.cnf## The Percona Server 5.7 configuration file.### * IMPORTANT: Additional settings that can override those from...【详细内容】
2021-07-15  Tags: MySQL  点击:(3)  评论:(0)  加入收藏
一、开启IIS全部功能。二、部署PHP1.官网下载并解压PHP: https://windows.php.net/downloads/releases/2.将php.ini-development文件改为php.ini3.修改php.ini(1)去掉注释,并修...【详细内容】
2021-07-15  Tags: MySQL  点击:(3)  评论:(0)  加入收藏
数据库MYSQL的查询一、单表查询1、条件查询select *from test where name='libai'①查询名字为李白且年龄为18:select *from test where name='libai' and a...【详细内容】
2021-07-14  Tags: MySQL  点击:(3)  评论:(0)  加入收藏
这篇文章主要给大家介绍了关于MySQL 8.0新特性之隐藏字段的相关资料,文中通过示例代码介绍得非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编...【详细内容】
2021-07-12  Tags: MySQL  点击:(3)  评论:(0)  加入收藏
【目标】本文介绍了MySQL数据库命令规范、数据库基本设计规范、数据库字段设计规范、索引设计规范、常见索引列建议、如何选择索引列的顺序、以及数据库SQL开发规范等。一...【详细内容】
2021-07-08  Tags: MySQL  点击:(3)  评论:(0)  加入收藏
安装mysqlsudo apt-get updatesudo apt-get install mysql-server输出:Reading package lists... DoneBuilding dependency treeReading state information... DoneThe follo...【详细内容】
2021-07-05  Tags: MySQL  点击:(10)  评论:(0)  加入收藏
1 背景介绍我们在数据库运维的过程中.会遇到不同版本的数据库部署需求.同时测试环境数据库需求更是不同.有时为了节省资源.我们需要进行多实例的部署.或者在我们自己学习的...【详细内容】
2021-07-05  Tags: MySQL  点击:(10)  评论:(0)  加入收藏
为什么需要索引? 一句话概括:索引的出现其实就是为了提高数据查询的效率。一、索引常见模型模型: 哈希表、有序数组和搜索树哈希表 哈希表是一种以键 - 值(key-value)存储数据的...【详细内容】
2021-07-04  Tags: MySQL  点击:(12)  评论:(0)  加入收藏
不想把mysql端口暴露在公网?在naviCat里可以通过ssh连接mysql。连接设置: 使用SSH通道,主机名或IP地址填写该mysql服务器地址 验证方式:公钥。注:在此之前,需要在服务器上设置好用...【详细内容】
2021-07-03  Tags: MySQL  点击:(5)  评论:(0)  加入收藏
▌简易百科推荐
前言在之前我们已经讲解了一主一从,双主双从的mysql集群搭建,在单机应用的时候看起来没有问题,但是在企业的生产环境中,在很多情况下都会有复制延迟的问题。所以我来了!!!​ 主从复...【详细内容】
2021-07-15  灯灯灯灯111    Tags:主从复制   点击:(2)  评论:(0)  加入收藏
集群服务部署1、配置主库映射文件 键名mysqld.cnf## The Percona Server 5.7 configuration file.### * IMPORTANT: Additional settings that can override those from...【详细内容】
2021-07-15  富集云科技有限公司    Tags:Rancher   点击:(3)  评论:(0)  加入收藏
数据库MYSQL的查询一、单表查询1、条件查询select *from test where name='libai'①查询名字为李白且年龄为18:select *from test where name='libai' and a...【详细内容】
2021-07-14  切勿按键伤人    Tags:MYSQL   点击:(3)  评论:(0)  加入收藏
这篇文章主要给大家介绍了关于MySQL 8.0新特性之隐藏字段的相关资料,文中通过示例代码介绍得非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编...【详细内容】
2021-07-12  开心一刻成长每一天    Tags:MySQL   点击:(3)  评论:(0)  加入收藏
一、目前数据库服务器情况概述两台数据库服务器,分别为主、备数据库服务器,已做数据库镜像,数据实时同步,保证数据一致性;当主服务器故障时,可以在10秒钟内自动切换至备用数据库服...【详细内容】
2021-07-09  网络管理员老高    Tags:数据库   点击:(6)  评论:(0)  加入收藏
【目标】本文介绍了MySQL数据库命令规范、数据库基本设计规范、数据库字段设计规范、索引设计规范、常见索引列建议、如何选择索引列的顺序、以及数据库SQL开发规范等。一...【详细内容】
2021-07-08  程序不就是0和1    Tags:数据库运维   点击:(3)  评论:(0)  加入收藏
安装mysqlsudo apt-get updatesudo apt-get install mysql-server输出:Reading package lists... DoneBuilding dependency treeReading state information... DoneThe follo...【详细内容】
2021-07-05  爱玩的安哥    Tags:Mysql5.7   点击:(10)  评论:(0)  加入收藏
1 背景介绍我们在数据库运维的过程中.会遇到不同版本的数据库部署需求.同时测试环境数据库需求更是不同.有时为了节省资源.我们需要进行多实例的部署.或者在我们自己学习的...【详细内容】
2021-07-05  智明杂谈  今日头条  Tags:MySQL   点击:(10)  评论:(0)  加入收藏
为什么需要索引? 一句话概括:索引的出现其实就是为了提高数据查询的效率。一、索引常见模型模型: 哈希表、有序数组和搜索树哈希表 哈希表是一种以键 - 值(key-value)存储数据的...【详细内容】
2021-07-04  Java架构师联盟  今日头条  Tags:MySQL   点击:(12)  评论:(0)  加入收藏
不想把mysql端口暴露在公网?在naviCat里可以通过ssh连接mysql。连接设置: 使用SSH通道,主机名或IP地址填写该mysql服务器地址 验证方式:公钥。注:在此之前,需要在服务器上设置好用...【详细内容】
2021-07-03  老IT的技术生活  今日头条  Tags:Mysql   点击:(5)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条