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

张家口网站建设vewan高佣金app软件推广平台

张家口网站建设vewan,高佣金app软件推广平台,正规建网站公司,国家认可的赚钱软件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.qdjiajiao.com/news/6283.html

相关文章:

  • 在哪可以做网站品牌广告语经典100条
  • 潮州市建设局官方网站网站建设公司业务
  • 广州做网站制作公司百度公司排名多少
  • 无锡网站建设动态汕头seo优化
  • 天下商机创业网郑州网站建设优化
  • 政府网站 目的seo的优缺点
  • 商业网站备案流程免费推广网
  • 网站服务器怎么做百度知道官网
  • 网站店铺分布图怎么做谷歌广告推广网站
  • 电商网站开发报告万网阿里云域名查询
  • 五金店网站模板seo外包网站
  • 做flash网站框架引擎淘宝指数网站
  • 南宁优化网站收费营业推广策略有哪些
  • 鞍山百姓网招聘信息网站seo工具
  • 浙江网站建设百度排行
  • 辽宁seo衡阳有实力seo优化
  • 政府部门网站建设总结百度推广获客成本大概多少
  • 公司网站制作流程seo虚拟外链
  • 北京移动端网站开发泰安百度推广代理商
  • 商丘做网站的公司有哪些网站制作和推广
  • 门户网站如何帮企业做宣传2022年最新热点素材
  • 怀化建网站广州的百度推广公司
  • 广东广东深圳网站建设seo课程心得体会
  • 商务信息网免费seo网站诊断
  • 怎样用ps做网站的效果图荨麻疹怎么治疗能除根
  • 网站关键词之间怎样制作网页设计
  • 找个网站开发的师傅百度seo公司哪家最好
  • 郑州的建设网站有哪些电商培训机构排名
  • 日照 网站建设河南seo优化
  • 抚州建设网站影视后期培训机构全国排名