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

张家口网站建设vewan凡科建站官网入口

张家口网站建设vewan,凡科建站官网入口,企业网站城市分站系统,大连seo关键词排名1、事务隔级别: (强制):Repeatable-Read(重复读),且不能在会话操作时临时开启隔离级别。 注: Repeatable-Read(重复读)隔离级别解决不了幻读。 可用 show variables l…

1、事务隔级别:

(强制):Repeatable-Read(重复读),且不能在会话操作时临时开启隔离级别。

注:

Repeatable-Read(重复读)隔离级别解决不了幻读。
可用 show variables like 'tx_isolation'; 查看当前mysql的隔离级别,事务隔离级别如下:

  • Read-Uncommitted;
  • Read-Committed;
  • Repeatable-Read(默认);
  • Seriaizable;

2、数据库字符集&表字符集&字段字符集:

  1. 数据库字符集(强制):必需指定字符集;
  2. 表字符集(强制):必需指定字符集;
  3. 字段字符集(强制):必需指定字符集;

注:
mysql的字符集优先级,数据库字符集 < 表字符集 < 表字段字符集;
mysql Utf8 3字节,Utf8mb4 4字节;

3、建表:

  1. 存储引挚(强制):必需明确指定存储引挚,通常是InnoDB存储引擎;
  2. 分库分表非强制):单表超过1000万行,或超过5GB,考虑分库分表;
  3. 数据保存策略(强制):必需明确历史数据保存多久;
  4. 表需要有主键(非强制),且最好是自增主键;
  5. 表限制创建三个以上索引(非强制),超过可考虑联合索引,联合索引和多索引查询使用要考虑索引失效;
  6. 表列数量限制(非强制):表列数量不要超过30个;

4、开发操作数据库:

  1. 组件使用(非强制):java语言用Mybatis操作数据库;
  2. 连结数池非强制):不要超过100个;
  3. 禁止操作强制):禁止2张以上表join,禁止使用存储过程,禁止使用触发器,禁止使用定时任务
  4. 查询结果集缓冲区大小非强制):涉及到select查询,要明确返回结果集大小,防止网络大量IO和内存崩掉,这里有两级数据缓存,1:数据库本身缓存大小;2、代码进程接结果集缓存大小。同时使用sql in语句小心超1000限制,很多数据库默认不支持有限制,如:select * from table r1 in(1,2,3,...,1000);
  5. sql执行计划强制):sql涉及到索引主键的使用必需用EXPLAIN查看是否生效?
  6. 禁止存储大文件和大图片强制)
  7. 批量插入非强制):批量插入超过1000,分批处理,建议Mybatis操作数据库手动获取Jdbc实现批量插入,代码如:

5、事务:

5.1、Spring编程事务传播性(非强制):

spring编程事务,即我们Java+Spring+db编程时开启事方式时机

建议使用:Propagation.REQUIRED传播性。如果当前存在事务,则加入该事务,如果当前不存在事务,则创建一个新的事务。对应:@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)

注:Spring事务传播性:

  1. Propagation.NESTED:和 Propagation.REQUIRED 效果一样;
  2. Propagation.NEVER:以非事务的方式运行,如果当前存在事务,则抛出异常;
  3. Propagation.NOT_SUPPORTED:以非事务的方式运行,如果当前存在事务,暂停当前的事务;
  4. Propagation.REQUIRES_NEW:重新创建一个新的事务,如果当前存在事务,暂停当前的事务;
  5. Propagation.MANDATORY:如果当前存在事务,则加入该事务;如果当前不存在事务,则抛出异常;
  6. Propagation.SUPPORTS:如果当前存在事务,则加入该事务;如果当前不存在事务,则以非事务的方式继续运行;
  7. Propagation.REQUIRED:如果当前存在事务,则加入该事务,如果当前不存在事务,则创建一个新的事务(默认);

5.2、Spring编程事务回滚类型(非强制):

编程开启事务时,明确事务的异常回滚类型。对应:@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)

5.3、事务开启(强制):

事务开启需要从三个方向考虑,1、事务悲观和乐观;2、事务的颗粒度;3、事务失效;因此从三个方向进行限定开发规范。

5.3.1、事务悲观和乐观:

根据对代码执行效率的追求,和业务实现的可靠性,综合考虑事务使用悲观锁乐观锁

5.3.2、事务的颗粒度:

事务的颗粒度,从4个方面考虑:

  1. 事务开启Hold住的时长,与这段被Hold住业务代码实现有效时长的比值,比值越小效率越高。如:代码逻辑,第一步:更新一条记录,仅1ms;第二步:做了一个网络IO,或者磁盘IO,用了5s,这就是一个极其不合理的比值;
  2. 事务开启Hold住的时长,会引起锁升级和增大数据库死锁的概率;
  3. 事务开启涉及批量操作(insert/update/delete),会引起锁升级和增大数据库死锁的概率;
  4. 事务Hold住的时长太长,可能会超时自动释放失效,同时长太长也会引起数据库死锁;

设计和编码落地时需从以上三人方面、事务可告性综合考虑,是否使用手动事务?或者注解事务(如开启,建议在函数方法开启)?

5.3.3、事务失效:

事务失效指开启了事务,事务确不失效,常见有以下几种可能,开发设计编码需要考虑:

  1. 注解不对导致失效;
  2. 跨线程方法调用导致失效;
  3. 多数据源导致失效;

 

http://www.shuangfujiaoyu.com/news/41251.html

相关文章:

  • 自助网站搭建系统百度人工客服在线咨询电话
  • 厦门 建网站查网站权重
  • 找我家是做的视频网站好如何在网络上推广产品
  • 做网站输入文本框做下拉有趣软文广告经典案例
  • 滨州做网站建设价格如何做好一个网站
  • 网站建设预算明细sem是什么分析方法
  • 怎么做网站广告代理商深圳网络推广代理
  • 青海营销网站建设服务seo推广的方法
  • 有经验的唐山网站建设seo搜索引擎优化薪酬
  • 如何评价网站是否做的好坏怎么做优化
  • 重庆网站设计找重庆最佳科技电脑培训
  • 网站托管多少钱企业培训心得
  • 深圳网站建设公司推荐百度识图网页入口
  • 怎样自己创造网站推广普通话的重要意义
  • 做填写信息的超链接用什么网站市场营销实务
  • 婚礼做的好的婚庆公司网站产品网络推广怎样做
  • 网络公司是什么行业搜索引擎优化关键词选择的方法有哪些
  • 国家建设执业注册中心网站成都网站优化排名
  • 政府网站建设服务成人专业技能培训机构
  • ps做网站页面步骤北京seo关键词优化收费
  • 网站做关键词库的作用优化英语
  • 秦皇岛企业建设网站优化营商环境存在问题及整改措施
  • b2c网站制作常州seo建站
  • 免费设计企业logo网络优化工程师有前途吗
  • 新乡做企业网站的公司上海哪家优化公司好
  • 法治建设网站模块seo编辑培训
  • 可以做h5网站杭州seo排名公司
  • 重庆平台网站建设设计百度一下免费下载安装
  • 门户网站建设的必要性域名信息查询
  • wordpress整合微信登陆丹东网站seo