ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:24KB ,
资源ID:1127955      下载积分:10 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenkunet.com/d-1127955.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Mysq的使用教程 开发规范.doc)为本站会员(魏子好的一塌糊涂的文献)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(发送邮件至13560552955@163.com或直接QQ联系客服),我们立即给予删除!

Mysq的使用教程 开发规范.doc

1、MySQL开发规范说明:数据库本身功能点很多,硬性限制上限比较高,比如单表大小,记录条数,多表join关联个数。我们人为的加一些规范予以限制,是基于当前的并发度、响应时长、网络速度、硬件资源、备份时长、是否易于维护管理、便捷扩容、兼顾敏捷开发等诸多因素做的一个平衡选择。比如索引个数限制(考虑记录更新需要更新索引,而这又涉及到单次数TPS带来的多次IOPS,影响磁盘使用率,磁盘满符合使用增加了吞吐量但又带来排队深度增加,总响应时长增长。命名规范库名、表名、字段名必须使用小写字母,并采用下划线分割库名、表名、字段名禁止超过32个字符。命名应与意义相符:比如k1,k2,k3这种无意义字段应该避免。受

2、限一下操作系统限制,库名尽量少于8个字符。以便跨数据库版本迁移,比如mysql迁移db2,oracle等库名、表名、字段名禁止使用MySQL保留字比如:字段常见 value 等关键字出现临时库、表名必须以tmp为前缀,并以日期为后缀,比如:tmp_order_yyyymmdd备份库、表必须以bak为前缀,并以日期为后缀 ,比如:t_order_bak_yyyymmdd基础规范使用INNODB存储引擎说明:mysql 官方版本已经设置表字符集使用UTF8,建议使用utf8mb4所有表都需要添加注释说明:增强可维护性,以及数据仓库、大数据项目等二次采集时数据调研的容易程度单表数据量建议控制在500

3、0W以内说明:受限部署机器的内存,迁移数据的网络限制,对低端硬件设备(1000iops);表应设置在1000w以内不在数据库中存储图片、文件等大数据说明:核心库考虑高并发,高性能,以及有效使用内存等原因,大字段不具备内存缓存,以及插入数据时,删除数据导致聚簇索引行迁移。禁止在线上做数据库压力测试禁止从测试、开发环境直连数据库说明:考虑实际阶段调整,直联容易出现,误修改数据,update不提交hold住事务,锁等待,以及核心数据丢书;物理上也开放端口给入侵留了安全隐患;以及员工变更的用户敏感数据外泄。库表设计拆分大字段和访问频率低的字段,分离冷热数据按日期时间分表需符合YYYYMMDDHH格式采

4、用合适的分库分表策略。比如:用户维度,商户代理商维度,具体取决于服务对象是用户还是多种聚合字段设计尽可能不使用TEXT、BLOB类型用DECIMAL代替FLOAT和DOUBLE存储精确浮点数将字符转化为数字使用TINYINT来代替ENUM类型所有索引字段均定义为NOT NULL使用UNSIGNED存储非负整数INT类型固定占用4字节存储使用timestamp存储时间使用INT UNSIGNED存储IPV4使用VARBINARY存储大小写敏感的变长字符串禁止在数据库中存储明文密码,身份证号,卡号 等(数据安全角度考虑)索引规范索引的用途说明:快速查询、去重、加速定位、避免排序;评价索引又按三星来

5、评定:有序索引避免排序、匹配查询、索引覆盖覆盖索引索引数量控制建议超过千万记录的索引不使用uuid,aes,md5等宽字段主键索引;性能下降很快建议索引大小不超过表的1/3建议单张表中索引数量不超过5个建议单个索引中的字段数不超过5个建议查询高频率,高区分的字段建立非唯一索引。如:性别,状态不是建立索引,可选择性不高对字符串使用前缀索引,前缀索引长度不超过8个字符建议优先考虑前缀索引,必要时可添加伪列并建立索引主键准则 表必须有主键 不使用更新频繁的列 尽量不选择字符串列 建议不使用UUID MD5 HASH(),全局唯一 默认使用非空的唯一键 建议选择全局自增或发号器,避免分库分表、复制同步

6、合并记录,流水号全局冲突(自增字段只能保值本地单调递增;)重要的SQL必须被索引UPDATE、DELETE语句的WHERE条件列ORDER BY、GROUP BY、DISTINCT的字段多表JOIN的字段区分度最大的字段放在前面核 SQL优先考虑覆盖索引避免冗余和重复索引考虑查询和更新比例索引禁忌不在低基数列上建立索引,例如“性别”不在索引列进行数学运算和函数运算尽量不使用外键外键用来保护参照完整性,可在业务端实现对父表和子表的操作会相互影响,降低可用性不使用%前导的查询,如like “%ab”不使用 is null 索引不使用负向查询,如not in/like,is not null无法使用

7、索引,导致全表扫描全表扫描导致buffer pool利用率降低SQL设计使用预编译语句只传参数,比传递SQL语句更高效避免隐式转换 会导致索引失效 充分利用前缀索引 必须是最左前缀建议不使用select * 消耗CPU和IO、消耗网络带宽、无法使用覆盖索引避免使用复杂计算、存储过程、触发器、UDF、events,JSON等;tomcat,jboss等无状态更易scale out,数据库扩展难度相对较大限制分页展示的页数,offset 设置,限制分页取值范围(限制分页在100页,2000条记录内)只能点击上一页、下一页根据业务合理平衡范式与反范式、少与500万的非高频表可以使用反范式、冗余字段可

8、以一次查询,高频高并发的表应遵循范式提升性能避免使用大表的JOIN,禁止3个表以上的join;关联字段数据类型应一致无索引字段,采用主键、唯一键索引查询延迟关联避免使用大事务,减少锁等待,并发执行时序导致的死锁、禁止使用QUERY CACHE,该功能弊大于利,MySQL8.0 query cache 功能被移除使用in代替or,in的值不超过256个禁止使用order by rand()用union all而不是union,避免排序禁止单条SQL语句同时更新多个表热表减少表结构变更,以免带来瞬间锁、的影响行为规范禁止使用binlog_format使用 statement,早期Mysql RC级

9、别复制出行主从不一致,现Mysql已经禁用RC级别设置statement备库设置read_only只读状态升级数据库版与DBA联合参与测试,性能变化;底层存储数据类型变更、原有业务SQL执行计划变更。比如类型隐式转化,ICP下推。批量导入、导出数据必须提前通知DBA协助观察禁止在线上从库执行后台管理和统计类查询禁止有super权限的应用程序账号存在产品出现非数据库导致的故障时及时通知DBA协助排查推广活动或上线新功能必须提前通知DBA进行流量评估数据库数据丢失,及时联系DBA进行恢复对单表的多次alter操作必须合并为一次操作不在MySQL数据库中存放业务逻辑重大项目的数据库方案选型和设计必须提前通知DBA参与对特别重要的库表,提前与DBA沟通确定维护和备份优先级不在业务高峰期批量更新、查询数据库不在数据库上物理删除数据,建议增加删除标识,分批执行提交线上建表改表需求,必须详细注明所有相关SQL语句

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报