少用 ibatis 的动态 SQL 组装

本文讲述了在一次数据库查询优化过程中的发现。通过对一个仅有千条记录的表进行查询时出现性能瓶颈的问题进行排查,找到了是因为使用了大量动态条件及不合理判断逻辑导致的。通过改进SQL语句,最终显著提升了查询效率。

这两天在看之前一个小朋友写的作业。

这个作业是写一个类似留言板的东西。

因为留言板充其量也就三四个人访问。

所以我就索性把之前的部分缓存去掉。

这样所有的请求都直接走数据库查询。

简单的检查了一下大多数请求的性能。

比以前快了不少平均请求小于xx毫秒。

哈哈可以开心的开一瓶牛奶进行品尝。

可是我发现其中有一个请求不很正常。

全表仅仅只有一千条数据不到却很慢。

花了几分钟研究了一下数据库的索引。

按理说即使完全不走索引全表扫也快。

后来发现了真正的罪魁祸首就在这里。

在查询语句中使用了大量的动态条件。

而且有些条件的判断逻辑并不很科学。

好了重新按照真正的条件组织了语句。

简单的检查了一下大多数请求的性能。

哈哈可以开心的开一瓶牛奶进行品尝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值