去哪儿网MySQL开发规范详解
需积分: 10 92 浏览量
更新于2024-09-08
1
收藏 622KB PDF 举报
"去哪儿MySQL开发规范"
去哪儿网的MySQL开发规范是一套详细的数据库设计和管理准则,旨在确保数据的一致性、稳定性和高效性。以下是规范中的关键知识点:
1. **命名规范**
- 所有数据库对象(库、表、字段)都应使用小写字母并采用下划线分隔,以便于阅读和理解。
- 命名长度限制:库名、表名、字段名不得超过32个字符,避免过长导致的问题。
- 命名应具有明确的含义,与业务和产品线相关,以便于理解其用途。
- 禁止使用MySQL的保留字,以免引起语法冲突。
- 临时库和表应以`tmp`为前缀,加上日期后缀,如`tmp_test01_20130704`。
- 备份库和表应以`bak`为前缀,加上日期后缀,如`bak_test01_20130704`。
2. **基础规范**
- 强烈推荐使用InnoDB存储引擎,因其支持事务处理和行级锁定。
- 字符集默认使用UTF8,对于需要存储四字节字符的情况,可以申请使用UTF8MB4。
- 每张表和字段都应添加注释,以英文标点符号,防止乱码。
- 不要在数据库中存储大型文件,如图片和文档,这会增加数据库负担。
- 表数据量建议控制在5亿条以内,以保证查询效率。
- 禁止在线上环境进行数据库压力测试,以防止对生产系统造成影响。
- 开发和测试环境不能直接连接到生产数据库,以保护数据安全。
3. **库表设计**
- 分区表不被推荐使用,可能会影响性能和复杂性。
- 对于大字段和低访问频率的字段,应考虑拆分到单独的表中,以分离冷热数据。
- 推荐使用散列方式来分表,表名后缀使用十进制数,从0开始,以提高查询效率。
- 日期时间分表应遵循特定格式,如`YYYY[MM][DD][HH]`,确保易于管理和查询。
- 应选择合适的分库分表策略,如千库十表、十库百表,以适应不同规模的业务需求。
4. **字段设计**
- 对于非负数值,建议使用无符号整型(UNSIGNED),以提高存储效率。
- 存储IPv4地址推荐使用INT UNSIGNED,避免数据溢出问题。
- 使用DECIMAL存储需要精确计算的浮点数,比如货币和金融数据,避免FLOAT和DOUBLE的精度问题。
- INT类型的宽度固定为4字节,INT(4)只是表示显示宽度,并不影响实际存储大小。
这套规范提供了一套全面的指导原则,确保去哪儿网的MySQL数据库设计和管理的标准化,有助于提升系统的稳定性和性能。开发者和数据库管理员应当严格遵守这些规则,以确保数据库的最佳实践。
454 浏览量
191 浏览量
156 浏览量
126 浏览量
152 浏览量
2023-06-08 上传
174 浏览量
zyx1990meng
- 粉丝: 0
- 资源: 9
最新资源
- STM32通过按键改变PWM占空比产生呼吸灯效果
- react-django-docker
- A_Simple_Game_of_Fetch_Build:和狗一起玩取回游戏,并反思您作为老人的生活
- 九丁百度图片下载搜索工具 v1.0
- Catfish(鲶鱼) Blog v2.0.75
- AMwebsite:网站开发
- 静态网页 html/css 练习素材
- Hydra3D-开源
- ML_proj01
- 世界之窗浏览器(TheWorld) v3.6.1.0
- 无后顾之忧:React的状态管理库
- Library-Python-SQLAlchemy-Flask:使用python flask将库数据保存到sqlite.db
- 仿webqq的webos框架zos,基于hoorayos2.0移植的纯html+js版本,后端语言.net
- fw —工作区生产力的助推器-Rust开发
- my_xUltimate-d9pc-x86
- 行业文档-设计装置-除琐屑的建筑用钢筋切割装置.zip