网站查询速度巨慢甚至出错, 用户投诉很多, 经查系某个查询长时间占用连接,导致oracle连接到达限制数.
起初怀疑是进行了不必要的查询, 如select * 和无用查询等.
后发现问题出在一句sql上:
……where upper(xx)=x
相当于全表查询了, 几百万条数据的数据库查一遍
改为
where xx=转大写(x) or xx=转小写(x) (转大小写的函数在oracle和各种编程语言里都有, 只要传递进去值是这个逻辑即可)
后终于开始走索引, 秒查完, 然后网站就顺畅了, 用户舒服了, 客服妹子们不再被用户骂了.