千家信息网

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

发表于:2025-02-20 作者:千家信息网编辑
千家信息网最后更新 2025年02月20日,设计规范建议:1).索引规范显式指定自增 int/bigint unsigned not null 作为主键不使用外键合理利用覆盖索引,但字段尽量不超过5个合理利用最左索引(前缀索引/部分索引)及时删
千家信息网最后更新 2025年02月20日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
索引 数据 字段 数据库 重要 系统 建议 业务 条件 环境 越来越 问题 越来 分配 支持 选择 最小 适当 一致 主力 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 我的世界主播直播的服务器手机版 网络安全主题团日活动概况 海南工业软件开发服务价格 变电站网络安全管理制度 2022网络安全高峰论坛 着力提升网络安全防护和管理能力 世界各国服务器出口 定义数据库模式是dba职责吗 腾讯云服务器安全防御 人类如何破坏水的数据库 专业服务器结构设计生产商 数据库管理系统的店铺 仓库管理软件数据库设计 深圳市微客网络技术有限公司 数据库错误952 广州市牛霸软件开发有限公司 服务器串口管理恢复密码 全国气温数据库排名 浙江统一软件开发服务推广 戴尔服务器电源引脚参数 智库网络安全吗 sql向多张表添加数据库 ktv网络技术员是做什么的 华为解锁 服务器繁忙 车载软件开发企业公司介绍 崇明区网络软件开发代理品牌 软件开发办公家具 2020公需科目网络安全 百度艾尔登法环服务器 国内商业软件开发平台现状
0