7 第二个十年

尚未进行身份认证

陆续开始写点博客,做下总结。

等级
TA的排名 3w+

blob字段带来的问题

问题描述:表中的数据量不大,只有10几万,但是查询起来性能很差,加了索引依然没有效果。分析后发现查询语句的执行计划是走索引的,但是就是查询性能很差。后来发现这张表有Blob字段,将该字段分离成单独的表后查询性能问题得到解决。之前也有把blob字段放在一张表的情况,但是查询性能并不受到影响,所以对这个问题没有重视。这次表中的blob字段存储的内容很大,这个问题就被暴露出来了。解决方案:新建了一张表专...

2018-02-27 13:42:54

数据库字段值相似性高导致的索引问题

问题描述:表A是数据对接表,有800万左右的数据量,对字段a1加了normal索引,发现查询性能问题,分析后发现查询不走索引,强制走索引查询性能依然很差。分析后发现a1字段值类似递增的序列号,因此导致每行记录该字段的值都相差不大,虽然加了索引,但是索引树的层级将会增加很快,导致索引效果很不理想。这里提出几种解决方案:方案1:将A表改造成分区表,查询时定位到分区,通过缩小数据范围来提升查询性能。但是...

2018-02-27 13:32:23

数据完整度检测的简单思路

应用系统中常常会牵扯到数据对接,由于对接过来的数据一般很难强制,数据质量往往堪忧,一般客户都会要求能够对数据质量进行监控,特别是数据完整度。最近遇到一个系统牵扯到50多个部门,涉及500多张表。用户提出需要知道每个部门对接过来的数据完整度情况,提出的计算模型是这样的:所有行中数据不为空的字段总和/(数据行数*列数) 每张表都有一个depcode来区分是哪个部门的数据,大概的数据结构如下:

2018-01-08 15:33:18

简单说说正向代理和反向代理

先说说正向代理,也就是我们平时所说的代理,它的主要用途大家肯定都不陌生,比如你需要访问谷歌,但是国内作了限制,这时候就可以在浏览器里设置通过代理服务器来访问。这里的代理服务器就像一个跳板,你所有的请求都会通过该代理服务器来发起。正向代理并不一定是在用户端设置,也可能在服务端使用。比如下面的情况,用户可以直接访问到server1上的服务,但是server1服务本身还需要访问到se

2017-12-22 12:49:34

Hibernate3原生SQL查询返回自定义类型时Integer类型的转换问题

Hibernate3原生SQL查询返回自定义类型时Integer类型转换报错ERROR]2017-12-1309:09:15,850-org.hibernate.property.BasicPropertyAccessor-15595[http-8080-2]org.hibernate.property.BasicPropertyAccessor-IllegalArgumentExceptioninclass:com.wisoft.pojo.Person1,settermet

2017-12-13 09:18:06

oracle海量用户分区设计思路

假设用户规模有1亿,系统需要同时支持使用 用户名/身份证号/手机号 来进行系统的登陆,这种情况下如何设计数据库表来保证性能呢?首先想到的是oracle的分区表

2017-10-30 15:04:17

spring中 throw new Exception()导致事务不起作用

昨天遇到一个事务不起作用的问题,在受事务控制的服务层方法中手动thrownewException()导致事务失效。修改配置文件可以使spring对所有的checkedexceptions都进行事务控制。

2017-09-28 13:40:25

spring中事务配置REQUIRES_NEW不起作用

先看service层的代码,我们希望for中的每一次循环都作为一个事务处理,如果一次循环失败,不希望影响下一次循环,因此使用了try/catch。publicclassServiceAimplementsIServiceA{ publicvoidsaveXXX(){ for(inti=0;i<10;i++){ try{ processXXX(); }

2017-09-04 09:10:30

物化视图引起的性能问题

物化视图集中在白天运行导致生产系统性能受到严重影响。分析原因发现创建物化视图时指定物化视图的下次刷新时间使用的是nextsysdate+1,本来的意思间隔一天,每天同一时间运行,但物化视图是等到每次物化视图执行完毕后才会更新下次的触发时间,这样每次执行sysdate+1的时间都是不一样的结果。使用trunc可以基本上避免此问题的发生。

2017-07-17 12:06:34

不要慌,你只有三大问题

作为管理者不能总以自己能够从管理者的角度思考问题为荣,给自己扣个帽子,如有大局观啦之类的。实际上如果不能从员工的角度思考问题并施行管理,这不是光荣,恰是最丢人的地方。管理的时间长了,大概连员工遇到的实际问题都选择忽视了,自己也存在这样的问题,实在是该打。这两天在做新人的培训,有了一些新的感悟,其实不管是新人还是管理者,不管是刚入职还是已经是老鸟很多年,你能够遇到的问题大概就是以下三大类:1

2017-05-25 22:55:16

反思管理上的说教

太多的管理者喜欢说教,自己从事管理工作也有7个年头了,也是整天说个不停,信奉场景教育,只要一有机会就喜欢啰嗦几句,下属碍于面子,肚子里一定满是怨言吧这些天一直在反思教育这个事情,老实说,苦口婆心的说教带来的实质改进却很小,既然这样,一直不停的说教又是为了什么?难不成只是为了图个心安理得?静下心来仔细思考一下,说教其实只是个手段,

2017-05-25 22:19:09

使用Hibernate返回自定义类型时报错的问题

数据库为oracle,在使用Hibernate查询时想要返回自定义的pojo类型,遇到类型转换的异常。如下面的命名查询希望返回数据行为typeClass类型QuerylocalQuery=session.getNamedQuery("findPersonInfo");localQuery.setResultTransformer(Transformers.aliasToBean(typ

2017-04-01 08:57:30

利用solr来处理用户画像问题

用户画像的基本思想就是给用户贴上一系列的标签,这些标签都是高度凝练的特征标识,是我们认识和分析用户的维度。比如对一个人来说,典型的一些特征如:性别,年龄段,婚姻状况,年收入范围,是否有车有房,户口所在地等等。对用户打标签的目的是进行更有针对性的分析,比如想知道25岁以下结婚并且有车的有多少人,然后给这部分群体进行一些定制化的推荐。通过不同标签的组合来分析海量数据可以让我们得到很多更有意义的信

2017-03-10 16:42:47

js中的setTimeout不起作用

今天使用setTimeout的时候遇到了一个小问题,场景是这样的,点击一个按钮,希望先弹出一个层上面显示倒计时数字,然后进行读卡操作。因为读卡操作需要打开设备较为耗时,所以使用了setTimeout函数,但是发现并没什么作用,弹出层并不是立即弹出,而是执行了readCard()后才会弹出层,即便第二个参数设置了更大的时间还是一样不起作用。代码大概如下所示:functiononclickF

2017-02-22 17:18:48

mysql 5.7 的安装

今天下了mysql5.7.17的解压缩版本,安装起来没有之前的版本那么顺当,这里记录一下安装过程。(系统环境是win732位)按照之前的版本安装过程一样进入到bin目录下,先安装服务mysqld-install,然后执行netstartmysql,发现无法启动,也没有明确的报错信息,见下图:经过摸索后最终成功安装,过程如下:(先卸载之前安装的服务 bin>mysqld

2016-12-30 17:04:00

springmvc的controller方法中接受到的参数值为NULL

最近遇到一个问题controller方法中接收到的参数为Null,使用的是spring-webmvc-4.3.1,tomcat使用的是tomcat6。之前一直只是关注CompileDependencies,ProvidedDependencies同样很重要,搭建服务的时候一定要关心,否则出现诡异的问题往往会浪费掉很多时间。

2016-12-05 10:22:40

从5个维度观察和改善团队效率

团队效率的提升不能依靠时间的自然增长来完成,作为管理人员必须主动思考如何有效的提升团队效率。结合自己几年的管理经验,我觉得可以从以下几个维度来考虑:1.时间不同角色的人员有不同的工作类型,但是他们的工作一般都是有工序的,比如我们公司程序员的一般工序是这样的:需求沟通,界面设计,表设计,逻辑编写(接口理解,算法),SQL编写,自测,bug调试和修正等。每个环节都可能存在问题,

2016-11-05 13:08:13

微信周边接口 wx.onSearchBeacons 无响应

昨天遇到了 wx.onSearchBeacons接口方法无响应的问题,看到网上也有人遇到类似的问题,这里小结一下:1.必须要将beacon加到分组中才行,如果还没有分组则必须首先为beancon创建分组。调用JS的前期准备工作就不多说了,微信上有明确的步骤,这里需要强调的是必须要创建分组,其实微信接口中也已经明确说了的...2.确认添加到分组中的设备是否都是可用

2016-11-05 11:12:34

CSRF知识小结

CSRF(Crosssiterequestforgery)跨站点请求伪造,顾名思义即是通过伪造出真实站点的请求来进行攻击的一种手段,其实对于CSRF我们并不陌生,图片盗链就是一种CSRF。CSRF一般容易被忽略(特别是内部系统),但是其往往能够产生较大的破坏性。介绍CSRF的一般攻击过程,了解Cookie,CSRF的三种防御策略,XSS和CSRF的区别和关系等。

2016-10-10 09:01:01

小议数据校验

hibernatevalidator是很好的数据校验框架,而且很方便就可以和springMVC集成起来,所以在实际项目中使用很广泛。hibernatevalidator使用在bean类的属性上加注解的方式来完成验证,这是非常好的,因为大家只需要记住常用的注解名称就可以了,公司可以根据自己的实际业务情况编写自定义注解,这样对于数据的验证知识就可以很好的传递下来。#同一bean不同场景

2016-09-30 23:51:20

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!