当前位置: 首页 > news >正文

2345网址导航电脑版下载天津优化代理

2345网址导航电脑版下载,天津优化代理,北京做网站商标的公司,wordpress 音乐自动播放一、基础规范 #xff08;1#xff09;必须使用InnoDB存储引擎 解读#xff1a;支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 #xff08;2#xff09;表字符集默认使用utf8#xff0c;必要时候使用utf8mb4 解读#xff1a;1、通用#xff…一、基础规范 1必须使用InnoDB存储引擎 解读支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 2表字符集默认使用utf8必要时候使用utf8mb4 解读1、通用无乱码风险汉字3字节英文1字节。2、utf8mb4是utf8的超集有存储4字节例如表情符号时使用它 3数据表、数据字段必须加入中文注释 解读N年后谁tm知道这个r1,r2,r3字段是干嘛的 4禁止使用存储过程、视图、触发器、Event 解读1、对数据库性能影响较大互联网业务能让站点层和服务层干的事情不要交到数据库层。2、调试排错迁移都比较困难扩展性较差。 再划个重点高并发大数据的互联网业务架构设计思路是“解放数据库CPU将计算转移到服务层”并发量大的情况下这些功能很可能将数据库拖死业务逻辑放到服务层具备更好的扩展性能够轻易实现“增机器就加性能”。数据库擅长存储与索引CPU计算还是上移吧。 5禁止存储大文件或者大照片 解读为何要让数据库做它不擅长的事情大文件和照片存储在文件系统数据库里存URI多好 二、命名规范 1库名表名列名必须用小写采用下划线分隔 解读abcAbcABC都是给自己埋坑  2库名表名列名必须见名知义长度不要超过32字符禁止拼音英文混用 解读tmpwushan谁TM知道这些库是干嘛的 3表名t_xxx非唯一索引名idx_xxx唯一索引名uniq_xxx 4SQL语句中关键字大写并放在单独的行开始 三、表设计规范 1单实例表数目必须小于2000个 2单表列数目必须小于80个 3表必须有主键推荐使用UNSIGNED整数禁止使用字符串作为主键 解读1、主键要选择较短的数据类型 Innodb引擎普通索引都会保存主键的值较短的数据类型可以有效的减少索引的磁盘空间提高索引的缓存效率。2、 无主键的表删除在row模式的主从架构会导致备库夯住 4禁止使用外键如果有外键完整性约束需要应用程序控制 解读外键会导致表与表之间耦合update与delete操作都会涉及相关联的表十分影响sql 的性能甚至会造成死锁。高并发情况下容易造成数据库性能互联网业务场景数据库使用以性能优先 5建议将大字段访问频度低的字段拆分到单独的表中存储分离冷热数据 四、字段设计规范 1根据业务区分使用tinyint/int/bigint分别会占用1/4/8字节 2根据业务区分使用char/varchar 解读1、字段长度固定或者长度近似的业务场景适合使用char能够减少碎片查询性能高。2、字段长度相差较大或者更新较少的业务场景适合使用varchar能够减少空间 3必须把字段定义为NOT NULL并设默认值 解读1、NULL的列使用索引索引统计值都更加复杂MySQL更难优化 2、NULL需要更多的存储空间 3、NULL只能采用IS NULL或者IS NOT NULL而在/!/in/not in时有大坑参见我之前写的mysql中不等于过滤null的问题 4禁止使用double存储货币,推荐decimal 解读你就不担心钱对不上吗 5使用varchar(20)存储手机号不要使用整数 解读1、牵扯到国家代号可能出现/-/()等字符例如86。  2、手机号不会用来做数学运算。3、varchar可以模糊查询例如like ‘138%’ 五、索引设计规范 1单表索引建议控制在5个以内 2禁止在更新十分频繁、区分度不高的属性上建立索引 解读1、更新会变更B树更新频繁的字段建立索引会大大降低数据库性能。2、“性别”这种区分度不大的属性建立索引是没有什么意义的不能有效过滤数据性能与全表扫描类似。一般来说同值的数据超过表的百分之十五那就没必要建索引了 3建立组合索引必须把区分度高的字段放在前面 解读理解组合索引最左前缀原则避免重复建设索引如果建立了(a,b,c)相当于建立了(a), (a,b), (a,b,c) 六、SQL使用规范 1禁止使用SELECT *只获取必要的字段 解读1、读取不需要的列会增加cpu/io/内存/带宽的消耗。2、指定字段能有效利用索引覆盖。3、指定字段查询在表结构变更时能保证对应用程序无影响 2禁止使用INSERT INTO t_xxx VALUES(xxx)必须显示指定插入的列属性 解读容易在增加或者删除字段后出现程序BUG 3禁止使用属性隐式转换 解读SELECT uid FROM t_user WHERE phone13812345678 会导致全表扫描而不能命中phone索引。这里应当对13812345678 加上单引号13812345678 。实际工作中类型字段的隐式转换是最多的需要特别注意。 4禁止在WHERE条件列使用函数或者表达式 解读导致不能命中索引全表扫描。这个之前我使用的最多了。! SELECT uid FROM t_user WHERE from_unixtime(day)2017-02-15 会导致全表扫描 正确的写法是SELECT uid FROM t_user WHERE day unix_timestamp(2017-02-15 00:00:00) 5禁止负向查询以及%开头的模糊查询 解读1、负向查询条件NOT、!、、!、!、NOT IN、NOT LIKE等会导致全表扫描。2、%开头的模糊查询会导致全表扫描注意像138%也是会使用索引的。 6禁止大表使用JOIN查询禁止大表使用子查询 解读会产生临时表消耗较多内存与CPU极大影响数据库性能 7禁止使用OR条件必须改为IN查询IN的值必须少于50个 解读旧版本Mysql的OR查询是不能命中索引的即使能命中索引为何要让数据库耗费更多的CPU帮助实施查询优化呢 8多表连接必须使用JOINLEFT JOIN禁止使用FROM tab1,tab2 解读都能实现关联查询但是使用join更加灵活效率更高。同时使用join会突出主表的存在方便在mybaits等框架中快速定位sql位置。sql必须放在主表的xml中便于重用。 结语本规范将作为yyblog2.0数据库的开发要求后续会不断更新。 yyblog1.0项目地址https://github.com/allanzhuo/yyblog 欢迎star关注yyblog项目。 参考架构师之路转载于:https://www.cnblogs.com/laoyeye/p/9925449.html
http://www.sadfv.cn/news/320477/

相关文章:

  • 网站做视频好不好一个域名绑定多个网站
  • 天津建设工程注册中心网站宁波建设网站多少钱
  • 泰安选择企业建站公司有户型图怎么免费设计装修
  • 设计了网站网站建设中怎么设置默认页
  • 南山做网站关于枪网页制作工作总结
  • 安徽网新科技网站建设介绍网站访客qq号码获取
  • 域名注册好了怎么打开网站网站底部图标
  • 随州有哪些网站建设的公司app 官方网站 案例
  • 美团网站界面设计企业类网站有哪些
  • 网站返回首页怎么做的好看网站网站设计网站
  • 网站信息备案查询系统电影网站权重怎么做
  • 电子商务网站建设基础扬州建网站
  • 门户网站是指提供什么的网站网站数据表怎么做
  • vps网站权限可以用来注册网站域名的入口是
  • 菏泽网站建设fuyucom鞍山吧最新消息
  • 简单网站后台西宁个人网站建设
  • 企业网站系统模板企业网站做广告
  • 广东省建设发展深圳公司关键词优化工具互点
  • 建设网站的心得体会百度关键词优化系统
  • 企业做网站大概需要多少钱浙江城乡和住房建设网
  • 小程序免费制作网站天津营销网站建设
  • 上海最专业的网站设wordpress网页提速
  • 北京做网站建设多少钱公司如何在百度宣传
  • 不忘初心 继续前进网站怎么做wordpress关键字插件
  • 石家庄住房城乡建设厅网站中国字体设计
  • 汕头建站模板关键帧
  • 移动网站 案例上海住建部网站
  • wordpress0商业网站有哪些做h5的网站
  • 帮忙做文档的网站比较好的网站建设
  • 做网站收获了什么现在网站建设还用测浏览器吗