首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql数据库规范

大家好,今天我们来聊一聊MySQL数据库规范MySQL是一个广泛使用的开源关系型数据库管理系统,良好的规范可以提高数据库的性能、可靠性和可维护性。...下面是一些MySQL数据库规范的重要指南,还附了一些索引失效的常见情况和关键字列表,希望对大家有所帮助。...一、数据库规范 所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。...1 设计规范 1.1 建库规范 【强制】:库的名称必须控制在32个字符以内 【建议】:库的名称格式:业务系统名称_子系统(模块) 【建议】:一般分库名称命名格式是 库通配_编号或 库通配_时间 【...建议】:创建数据库时可显式指定字符集,只能使用 utf8 或 utf8mb4 格式,数据库默认字符集为 utf8 1.2 建表规范 1.2.1 整体结构限制 【强制】:表名称必须控制在32个字符以内,

29140
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL 数据库命名规范.PDF

    一、数据库涉及字符规范 采用26 个英文字母(区分大小写)和0-9 这十个自然数,加上下划线'_'组成,共37个字符.不能出现其他字符(注释除外)....二、数据库命名规范 数据库使用小写英文以及下划线组成(weixin+_jd_com).比如: weixin_jd_com im_jd_com 备份数据库使用正式库加上备份时间组成,如: dbname..._20150206 三、数据库表命名规范 数据表使用小写英文以及下划线组成(项目+表信息)比如: oa_user oa_workflow_steps备份数据表使用正式表加上备份时间组成,如: oa_user...如oa_user 表的字段: user_id user_name表与表之间的相关联字段要用统一称 五、索引命名规范 索引名称为idx_列名_表缩写,唯一索引名称为uniq_列名_表缩写,其中表...6)不要在MySQL数据库中存放业务逻辑, 数据库是有状态的服务,变更复杂而且 速度慢,如果把业务逻辑放到数据库中,将会限制业务的快速发展。

    1.1K20

    MySQL数据库设计规范

    规范背景与目的 MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。...本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。 2....设计规范 2.1 数据库设计 以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。 对于不满足【高危】和【强制】两个级别的设计,DBA会强制打回要求修改。...【强制】一般分库名称命名格式是库通配_编号,编号从0开始递增,比如wenda_001以时间进行分库的名称格式是“库通配_时间” 【强制】创建数据库时必须显式指定字符集,并且字符集只能是utf8或者utf8mb4...因为Innodb表支持事务、行锁、宕机恢复、MVCC等关系型数据库重要特性,为业界使用最多的MySQL存储引擎。而这是其他大多数存储引擎不具备的,因此首推InnoDB。

    2.2K40

    MySQL数据库设计规范

    规范一:库、表、字段名必须使用小写,并采用下划线分割。...1、MYSQL配置参数lower_case_table_names,不可动态更改,LINUX系统默认为0,即库表以实际情况存储,大小写敏感。如果是 1,以小写存储,大小写不敏感。...规范二,库、表、字段名禁止超过20 个字符。 库、表、字段名字符数存在上限,为了统一规范、易于辨识以及减少传输量,禁止超过20 个字符。...规范十,对于字典类型的表,因数据量少,修改少,影响面大,应依赖数据库约束来确保数据质量。对于日志或流水型表,为了提升效率,可以适当放宽限制。 规范十一,对于字段设计:越简单越好,越小越好。...如果没有指定主键,mysql 会选择一个非空的唯一键作为主键。如果都没有,mysql 会自动分配 6-bytes长度的全局的 rowid 隐藏列作为主键。

    2.3K20

    MySQL 社区规范 | 数据库

    如下是包含其中的MySQL开发规范,根据社区很多的博文参考以及结合自身小团队开发情况总结。...---- 命名规范 对象名称必须使用小写,多单词统一使用下划线分割 命名的单词必须做到顾名思义、简洁,表长度不要超过16个字符,字段名称长度不要超过32个字符 禁止使用保留字并且尽量少用含有关键词来命名...行为与流程规范 禁止在线上做数据库的压力测试 对应的环境使用对应的数据库比如测试环境一定要使用测试环境的数据库 super权限只能属于DBA,不能赋予项目程序 养成查看SQL运行性能的习惯,可以借用性能分析工具...表与表关联的键名保持一致或以关联表的缩写为前缀 规范事项,保持规范、养成习惯,提高程序的可读性。 固定长度的字符串字段务必使用CHAR 节省存空间、降低内存使用率、提高读写性能。...不在数据库做运算,务必将运算置于业务层 MySQL不擅长数学运算和逻辑判断。 禁止使用索引做运算 索引会失效。

    1.1K20

    【干货】MySQL数据库开发规范

    所有的数据库对象名称必须使用小写字母并用下划线分割(MySQL大小写敏感,名称要见知意,最好不超过32字符) 所有的数据库对象名称禁止使用MySQL保留关键字(如 desc、range、match...、delayed 等,请参考 MySQL官方保留字 【https://dev.mysql.com/doc/refman/5.7/en/keywords.html】 ) 临时库表必须以tmp为前缀并以日期为后缀...,从一开始就进行数据字典的维护 尽量控制单表数据量的大小在500w以内,超过500w可以使用历史数据归档,分库分表来实现(500万行并不是MySQL数据库的限制。...MySQL没有对存储有限制,取决于存储设置和文件系统) 谨慎使用mysql分区表(分区表在物理上表现为多个文件,在逻辑上表现为一个表) 谨慎选择分区键,跨分区查询效率可能更低 建议使用物理分表的方式管理大数据...在代码中写分页查询逻辑时,若 count 为 0 应直接返回,避免执行后面的分页语句 ---- 参考: 《阿里巴巴Java开发手册》 《高性能可扩展MySQL数据库设计及架构优化》

    1.2K20

    Mysql数据库对象命名规范

    命名规范是指数据库对象如数据库(SCHEMA)、表(TABLE)、索引(INDEX)、约束(CONSTRAINTS)等的命名约定。...数据库对象全局命名规范 1、命名使用具有意义的英文词汇,词汇中间以下划线分隔 2、命名只能使用英文字母、数字、下划线,以英文字母开头 3、避免用MySQL的保留字如:backup、call、group等...4、所有数据库对象使用小写字母,实际上MySQL中是可以设置大小写是否敏感的,为了保证统一性,我们这边规范全部小写表示。...数据库命名规范 1、数据库命名尽量不超过30个字符。 2、数据库命名一般为项目名称+代表库含义的简写,比如IM项目的工作流数据库,可以是 im_flow。...存储过程命名规范 1、存储过程以sp开头,表示存储过程(storage procedure)。之后多个单词以下划线(_)进行连接。存储过程命名中应体现其功能。存储过程尽量不能超过30个字符。

    5.2K20

    MySQL 数据库规范--开发篇

    9.避免使用存储过程、触发器、函数等,这些特性会将业务逻辑与数据库耦合在一起,并且MySQL的存储过程,触发器,函数中可能存在bug。 10.尽量避免使用子查询,连接。...11.使用合理的sql语句以减少与数据库的交互次数。 12.建议使用合理的分页技术以提高操作效率。...type =ALL Full Table Scan 全表查询 key =NULL 未使用索引 rows = 7 10数据库中所有记录 extra = Using where ,最终使用where 做结果集过滤...type =ALL Full Table Scan 全表查询 key =NULL 未使用索引 rows = 7 10数据库中所有记录 extra = Using where ,最终使用where 做结果集过滤...当然上述演示比较简单,也不是非常具备实战色彩,对于explain的使用,我们还应在更多的数据库操作场景中多多使用,这是sql调优的利器。

    1.6K20

    MySQL系列 | MySQL数据库设计规范

    规范背景与目的 MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。...本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。 2....设计规范 2.1 数据库设计 以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。 对于不满足【高危】和【强制】两个级别的设计,DBA会强制打回要求修改。...2.1.1 库 【强制】库的名称必须控制在32个字符以内,相关模块的表与表之间尽量提现join的关系,如user表和user_login表。...【强制】一般分库名称命名格式是库通配_编号,编号从0开始递增,比如wenda_001以时间进行分库的名称格式是“库通配_时间” 【强制】创建数据库时必须显式指定字符集,并且字符集只能是utf8或者utf8mb4

    3.2K30

    【笔记】Mysql 数据库操作规范

    命名规范: 库、表、字段名必须使用小写字母,并采用下划线分割。[FAQ-1-01] 库、表、字段名禁⽌超过 32 个字符。[FAQ-1-02] 库、表、字段名必须见知意。...库、表、字段名禁止使用 MySQL 保留字。[FAQ-1-03] 【MySQL 保留字】 临时库、表必须以 tmp 为前缀,并以日期为后缀。例如 tmp_test01_20180704。...数据库授权粒度为库级别,除非特殊情况可以授权到表级别;MySQL 的系统库如 mysql、sys 等不对外授权。 数据库中不允许有名字为 “dba” 的账号,初始化数据库后需要将该用户删除。...d) 为了统⼀规范,库、表、字段名使⽤⼩写字母。 【FAQ-1-02】 库、表、字段名禁止超过 32 个字符。...库、表、字段名⽀持最多 64 个字符,但为了统一规范、易于辨识以及减少传输量,禁⽌超过 32 个字符。 【FAQ-1-03】 库、表、字段名禁止使用 MySQL 保留字。

    1.4K20

    MySQL数据库表设计规范

    一、数据库设计 1、一般都使用 INNODB 存储引擎,除非读写比率<1%,才考虑使用 MYISAM 存储引擎;其 他存储引擎请在 DBA 的建议下使用。...二、数据库对象设计规范 1、表 设计 a)在设计时尽量包含两个日期字段:crt_time(创建日期),upd_time(修改日期)且 非空, 对表的记录进行更新的时候,必须包含对 upd_time字段的更新...命名 a)同一个模块的表尽可能使用相同的前缀,表尽可能表达含义,例如: CRM_SAL_FUND_ITEM。...b) 若要达到唯一性限制的效果,不要创建uniqueindex,必须显式创建普通索引和约束 (pk 或 uk),即先创建一个以约束命名的普通索引,然后创建一个约束,用 using index …指定索引...e) 外键约束一般不在数据库上创建,只表达一个逻辑的概念,由程序控制。 f) 当万不得已必须使用外健的话,必须在外健列创建 INDEX。

    2.8K30

    数据库MySQL-设计规范

    一、MYSQL数据库设计规范 1、数据库命名规范 a、采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’_'组成; b、命名简洁明确(长度不能超过30个字符); c、例如:user..., stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀; d、除非是备份数据库可以加0-9的自然数:user_db_20151210; 2、数据库命名规范...user_role_relation, user_role_right, user_role_right_relation 注:表前缀’user_'可以有效的把相同关系的表显示在一起; 3、数据库表字段名命名规范...); IP地址最好使用int类型; 固定长度的类型最好使用char,例如:邮编; 能使用tinyint就不要使用smallint,int; 最好给每个字段一个默认值,最好不能为null; 5、数据库表索引规范...1、第一范式(1NF):字段值具有原子性,不能再分(所有关系型数据库系统都满足第一范式); 例如:姓名字段,其中姓和是一个整体,如果区分姓和那么必须设立两个独立字段; 2、第二范式(2NF):一个表必须有主键

    97510

    MySQL数据库如何实现AX规范

    本文我们来讨论 MySQL 的 XA 规范有哪些应用相关的内容。...MySQL 为我们提供了分布式事务解决方案,在前面的内容中 聊一聊分布式事务的解决方案 提到过 binlog 的同步,其实是 MySQL XA 规范的一个应用,那么 XA 规范是如何定义的,具体又是如何应用的呢...今天我们一起来看一下 XA 规范相关的内容。 MySQL 有哪些一致性日志 问你一个问题,如果 MySQL 数据库断电了,未提交的事务怎么办?...目前,主流数据库都提供了对 XA 的支持,在 JMS 规范中,即 Java 消息服务(Java Message Service)中,也基于 XA 定义了对事务的支持。...MySQL 外部 XA 主要应用在数据库代理层,实现对 MySQL 数据库的分布式事务支持,例如开源的数据库中间层,比如淘宝的 TDDL、阿里巴巴 B2B 的 Cobar 等。

    21511

    MySQL规范

    数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql的保留关键字(如果表中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要做到见识意...,会造成列上的索引失效,导致查询效率降低) 数据库基本设计规范 所有表必须用innodb存储引擎 支持事务,行级锁,更好的恢复性,高并发性能更好 数据库的表和字符集统一使用UTF-8 兼容性更好,...禁止从开发环境,测试环境直接连接生成环境数据库 数据库字段设计规范 1、优先选择符合存储需要的最小的数据类型 原因 列的字段越大,建立索引时所需要的空间也就越大,这样一页中所能存储的索引节点的数量也就越少也越少...数据库SQL开发规范 1、建议使用预编译语句进行数据库操作 预编译语句可以重复使用这些计划,减少SQL编译所需要的时间,还可以解决动态SQL所带来的SQL注入的问题 只传参数,比传递SQL语句更高效...:一个SQL只能使用一个CPU进行计算 3、SQL拆分后可以通过并行执行来提高处理效率 数据库操作行为规范 大批量操作可能会造成严重的主从延迟 主从环境中,大批量操作可能会造成严重的主从延迟,大批量的写操作一般都需要执行一定长的时间

    1.3K20
    领券