博客
关于我
MySQL优化之推荐使用规范
阅读量:788 次
发布时间:2023-02-11

本文共 1281 字,大约阅读时间需要 4 分钟。

数据库设计规范指南

一、基础规范

在数据库设计中,我们遵循以下原则以确保高效稳定运行:

  • 存储引擎选择:使用InnoDB存储引擎。这种引擎支持事务、行级锁和高效的并发性能,且CPU和内存缓存机制优化了资源利用率。

  • 字符集设置:推荐使用utf8mb4字符集。这种字符集无需转码,避免乱码风险,同时支持包含emoji表情和部分不常见汉字。

  • 注释规范:表和字段必须添加注释。清晰的注释有助于让其他开发人员理解字段功能,尤其在后期维护时至关重要。

  • 计算字段禁止:禁止在数据库中执行计算。存储过程、视图、触发器和Event等功能应尽量避免,尤其在高并发情况下,这些功能可能导致数据库性能下降。

  • 文件存储管理:文件应存储在文件系统中,而不是数据库内。数据库内存储URI链接以避免占用过多磁盘空间。

  • 数据量控制:单表记录数量应控制在千万级以内,以确保数据库运行效率。

  • 二、命名规范

    规范命名有助于提高代码可读性和维护性:

  • 命名风格:库名、表名和字段名应采用小写且下划线分隔的命名方式。索引名应区分为非唯一索引(idxxxx)和唯一索引(uniqxxx)。

  • 主键设置:每个表必须有主键,通常采用自增主键。选择较短的数据类型可减少索引占用,提高查询性能。

  • 外键管理:避免使用数据库外键约束。外键控制应通过应用程序实现,以减少耦合度和性能开销。

  • 三、字段设计规范

    字段设计需考虑数据存储和查询优化:

  • 字段类型选择:字段应定义为NOT NULL,并提供默认值。null值会增加索引和查询复杂性,影响性能。

  • 避免大数据类型:禁止使用TEXT和BLOB类型。如需存储大文本信息,建议单独创建表,并通过主键关联。

  • 货币处理:使用整数存储货币,避免小数带来的精度问题。

  • 手机号存储:使用varchar类型存储手机号码,以支持数学运算和格式化显示。

  • 冗余数据设计:在范式设计中适当添加冗余字段,尤其是那些不经常修改的字段,以提高查询性能。

  • 四、索引设计规范

    合理设计索引可显著提升查询性能:

  • 索引位置:在更新频繁或区分度较低的属性上禁止建立索引。例如,“性别”字段不需要索引。

  • 组合索引:确保高区分度字段位于索引的最左边。组合索引可提升查询性能,但需谨慎选择字段。

  • 搜索优化:禁止左模糊或全模糊查询。建议使用搜索引擎功能解决这些情况。

  • 五、SQL使用规范

    编写高效SQL语句是数据库性能的关键:

  • 查询优化:禁止使用SELECT *,只获取必要字段,并明确列属性。

  • 插入操作:使用INSERT INTO t_xxx VALUES(xxx)时,需显示指定列属性。

  • 比较操作:请使用“同类型”比较,避免全表扫描。

  • 函数和计算:避免在WHERE条件中使用函数或计算。推荐使用日期范围查询。

  • 查询防范:禁止负向查询和模糊查询(如%开头的条件)。

  • 大数据查询:避免使用JOIN和子查询,以免占用大量内存。

  • 事务设计:保持事务粒度尽可能小,避免一次更新大量数据。

  • 数据更新:分批次更新数据,减少锁级别对数据库性能的影响。

  • 通过遵循以上规范,我们可以设计出高效、稳定的数据库系统,确保在高并发场景下也能良好运行。

    转载地址:http://habfk.baihongyu.com/

    你可能感兴趣的文章
    mysql优化概述(范式.索引.定位慢查询)
    查看>>
    MySQL优化的一些需要注意的地方
    查看>>
    mysql优化相关
    查看>>
    MySql优化系列-优化版造数据(存储过程+函数+修改存储引擎)-2
    查看>>
    MySql优化系列-进阶版造数据(load data statment)-3
    查看>>
    MySql优化系列-造数据(存储过程+函数)-1
    查看>>
    MySQL优化配置详解
    查看>>
    Mysql优化高级篇(全)
    查看>>
    mysql会员求积分_MySql-统计所有会员的最高前10次的积分和
    查看>>
    mysql会对联合索性排序优化_MySQL索引优化实战
    查看>>
    MySQL作为服务端的配置过程与实际案例
    查看>>
    Mysql使用命令行备份数据
    查看>>
    MySQL保姆级教程(SQL语法基础篇)从小白到高手的进阶指南,收藏这一篇就够了
    查看>>