我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据库设计规范和优化建议

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据库设计规范和优化建议

设计规范建议:
1).索引规范
显式指定自增 int/bigint unsigned not null 作为主键
不使用外键
合理利用覆盖索引,但字段尽量不超过5个
合理利用最左索引(前缀索引/部分索引)
及时删除冗余索引
选择适当的索引顺序,选择性高条件靠前
基数( Cardinality )很低的字段不创建索引(MySQL还不支持 bitmap 索引)
采用第三方系统实现text/blob全文检索
常用排序(ORDER BY)、分组(GROUP BY)、取唯一(DISTINCT)字段上创建索引
单表索引数量不超过5个
索引字段条件不使用函数


2).开发环境
启用log_queries_not_using_indexes
设置long_query_time为最小值
定期检查分析slow log
授权和生产环境一致
关闭Query Cache
设置较小InnoDB Buffer Pool、key buffer size
数据量不能太少,否则有些性能问题无法提前规避


3).行为规范
批量导入、导出数据须提前通知DBA,请求协助观察
推广活动或上线新功能须提前通知DBA,请求压力评估
不使用SUPER权限连接数据库
单表多次ALTER操作必须合并为一次操作
数据库DDL及重要SQL及早提交DBA评审
重要业务库须告知DBA重要等级、数据备份及时性要求
不在业务高峰期批量更新、查询数据库
提交线上DDL需求,所有SQL语句须有备注说明


4).硬件
NUMA新架构,CPU直接存取内存,更高效
CPU一般不是瓶颈,但MySQL多核支持仍不佳
设备越来越廉价,大内存解决很多问题
SSD应用越来越广泛,未来是主力
RAID卡可有效提升IOPS及数据安全(RAID 10 vs RAID 5)
RAID卡必须配备BBU,设置FORCE WB


优化建议:
1).系统
升级到64位
/tmp使用/dev/shm的tmpfs
内核
IO调度:deadline,noop,反正不要cfq
VM管理:vm.swappiness=0


2).文件系统:xfs/zfs
全B+树,高效
分配组,提高并发度
延迟分配,减少IO
mount:nobarrier、data=ordered,writeback


3).MySQL配置
memlock
open_files_limit
max_connections
long_query_time
table_open_cache
key_buffer_size
query_cache_size
tmp_table_size/max_heap_table_size
innodb buffer pool
innodb_flush_log_at_trx_commit
interactive_timeout/wait_timeout
transaction_isolation
innodb_log_file_size
innodb_data_file_path
innodb_max_dirty_pages_pct

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据库设计规范和优化建议

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

数据库规范化设计

操作异常修改异常、插入异常、删除异常数据依赖数据间的联系函数依赖FD属性捡的联系,最基本的数据依赖若确定X,则可以唯一的确定Y,则称Y依赖于X记X->Y若X->Y,且Y是X的子集则称为平凡的函数依赖:平凡的FD若X->Y且对于任何并且对于X的任何一 个真子集X
数据库规范化设计
2018-08-29

mysql数据库设计规范

一、数据库设计规范1.使用innodb引擎2.数据库和表的字符集统一使用utf83.所有表和字段添加注释4.单表数据量控制<500w5.谨慎使用mysql分区,跨区查询影响性能6.冷热数据分离,缓存7.禁止在数据库中存储图片,文件等大的二进制数据8.禁止在线上
mysql数据库设计规范
2019-12-06

MySQL数据库表设计规范

一、数据库设计 1、一般都使用 INNODB 存储引擎,除非读写比率<1%,才考虑使用 MYISAM 存储引擎;其 他存储引擎请在 DBA 的建议下使用。 2、Stored procedure (包括存储过程,函数,触发器)对于 MYSQL 来说还不是很成熟,
MySQL数据库表设计规范
2014-11-16

数据库设计规范(详细)

数据库设计规范是指在设计数据库时需要遵守的一系列规则和准则,以确保数据库结构的合理性、一致性和可维护性。下面是一些常见的数据库设计规范:1. 数据库命名规范:- 数据库名、表名、字段名应使用有意义的英文单词或词组,避免使用缩写、拼音或无意义
2023-09-13

MySQL高性能优化规范建议,速度收藏

数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符临时库表必须以 tmp_为前缀
MySQL高性能优化规范建议,速度收藏
2020-07-11

数据库设计规范有哪些

1. 数据库表命名规范:表名应该具有描述性,表名应该使用小写字母,单词之间使用下划线连接。2. 字段命名规范:字段名应该使用小写字母,单词之间使用下划线连接。3. 数据类型规范:选择适当的数据类型,避免使用不必要的数据类型。4. 主键规范:
2023-06-10

MySQL数据库备份策略优化建议

MySQL数据库备份策略的优化建议主要包括以下几个方面:定期备份:根据业务需求和数据量大小,制定合理的备份频率。一般来说,对于重要的数据,可以每天进行备份;对于一般数据,可以每周或每月进行备份。全量备份与增量备份结合:全量备份是备份数据库
MySQL数据库备份策略优化建议
2024-10-21

MySQL数据库范式化设计的方法

这篇文章主要讲解了“MySQL数据库范式化设计的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库范式化设计的方法”吧!一、设计范式问题: 什么是范式化设计,为什么需要反规范
2023-06-30

MySQL数据库中.ibd文件的作用和优化建议

MySQL数据库中.ibd文件的作用和优化建议MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种Web应用程序中。在MySQL数据库中,每个InnoDB表都会对应一个.ibd文件,这个文件承载了表的数据和索引信息,是MySQL数
MySQL数据库中.ibd文件的作用和优化建议
2024-03-15

编程热搜

目录