摘要: 代理模式有静态代理和动态代理 静态代理:提到代理,我们首先想到的就是代理商了,代理商就是替厂家卖产品,这里有三个关键的地方,第一点,卖产品的行为是代理商做的(至少对于消费者来说,消费者接触的就是代理商);第二产品是厂家的(也就是说代理商卖的商品是厂家的,而代理商是没有产品的,从这点来说实质上还是厂家 阅读全文
posted @ 2017-12-29 21:35 流沙若水 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 今天查看MySQL慢查询日志,查看一个四表关联的SQL操作,耗时1006s。这次也是基于基于子查询的思路,对上表进行优化。使时间复杂度降到n^2级别。但优化之后时间反而是原来的三倍多。 原SQL语句: 耗时1s多, 优化后的语句: 查看其执行计划后可知: 修改后的执行计划: 由于索引的存在:原SQL 阅读全文
posted @ 2018-08-15 21:59 流沙若水 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 今日给人查找数据,时间关系,写个比较粗暴的SQL语句: where go.appId = dt.app_id and dt.data_key = dd.dict_type and dict_code = go.xingZhenQuYu and dt.data_key_name = 'XING_ZHE 阅读全文
posted @ 2018-08-15 21:58 流沙若水 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 近日查看SQL慢查询日志,发现对于in的查询总是出现超时问题。超时相关SQL语句:select * from flow_ru_bizvar where businessId IN () and status = 0。可以看到在这句SQL中,最耗时的就是因为in的原因。这里in的对象是一个Long类型 阅读全文
posted @ 2018-08-15 21:57 流沙若水 阅读(1789) 评论(0) 推荐(0) 编辑
摘要: 近日整理数据库中的点单规则数据时,在写SQL语句时遇到了一个bug,解决办法以及原因整理出来。 事例SQL, 嵌套查询具有垂直上下之关系,没有水平扩展之联系。 相关知识点延伸: SQL语句执行时的顺序: 在SQL中,经常用到的关键字有select,from,where,group by,order 阅读全文
posted @ 2018-08-15 21:56 流沙若水 阅读(607) 评论(0) 推荐(0) 编辑
摘要: mysql中group by实现方式有三种,松散索引,紧凑索引,临时文件(文件排序)。 在网上看了相关的介绍,大部分介绍都比较晦涩难懂,这里说下我的理解。 在学习SQL优化时,我们都知道可以对group by进行优化的方式就是对group by引用的字段建立索引。当group by引用多个字段时,我 阅读全文
posted @ 2018-08-15 21:55 流沙若水 阅读(9789) 评论(0) 推荐(0) 编辑
摘要: 半天写完了代码,从此开始了三天的bug修复。。。 问题背景:从合同系统那边获取数据。 1.开发完后,利用mock模拟合同数据,获取(mock中的合同)数据成功,但是在解析合同数据时出错,原因,mock中的数据是济南的,测试用的单子是烟台的,合同字段不匹配,导致出错。 2.mock中的合同数据可以获取 阅读全文
posted @ 2018-08-15 21:53 流沙若水 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1.在使用String类中split(String regex)切割字符串abcd.job遇得到job字符串时,直接使用split("."),导致数组超出界限错误 原因:得到的数组长度为0. 结论:对于像 . ,*,|这些特殊的字符作为切割界限符时要加转义字符,如:“\\.”,"\\|"。 2.在J 阅读全文
posted @ 2018-08-15 21:53 流沙若水 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 1.问题描述: 反馈,用户提交待办后,流程图中的状态没有改变 2.分析原因: 状态由数据库中待办的状态所决定,查明数据库,代办的状态为未提交,状态错误。 (此类问题由多线程访问冲突所致,无法进行问题重现。) 查日志: 查到的相关日志结果: 1.acviti报的Exception:can not fi 阅读全文
posted @ 2018-08-15 21:52 流沙若水 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 1.正常的连接 2.使用缓存的连接 3.内连接的顺序性,优化程序可对其顺序进行优化,谓词的下沉,先根据其中子句中的条件(最左边的)过滤再进入到内层的表进行匹配。 4.外连接,优化程序不会对其进行优化,完全按照程序员写的顺序进行连接。先匹配行,对根据其中子句中的条件进行判断。 5.内链接可以优化为内链 阅读全文
posted @ 2018-08-15 21:51 流沙若水 阅读(922) 评论(0) 推荐(0) 编辑
摘要: 对于辅助索引来说,我们需要查询的字段是辅助索引的字段,在辅助索引找到对应的主键(放到buffer中),然后将主键进行排序。根据排序后的主键去查询磁盘表,这样 通过将随机IO变成顺序IO来减少磁盘IO的次数。 对于MyISAM也是这样的原则,首先根据数据行的id对得到索引字段字段进行排序,而非主键,这 阅读全文
posted @ 2018-08-15 21:50 流沙若水 阅读(221) 评论(0) 推荐(0) 编辑