一次数据库优化经历
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
網(wǎng)站查詢速度巨慢甚至出錯(cuò), 用戶投訴很多, 經(jīng)查系某個(gè)查詢長(zhǎng)時(shí)間占用連接,導(dǎo)致oracle連接到達(dá)限制數(shù).
起初懷疑是進(jìn)行了不必要的查詢, 如select * 和無(wú)用查詢等.?
后發(fā)現(xiàn)問(wèn)題出在一句sql上:
……where upper(xx)=x
相當(dāng)于全表查詢了, 幾百萬(wàn)條數(shù)據(jù)的數(shù)據(jù)庫(kù)查一遍
改為
where xx=轉(zhuǎn)大寫(xiě)(x) or xx=轉(zhuǎn)小寫(xiě)(x) ?(轉(zhuǎn)大小寫(xiě)的函數(shù)在oracle和各種編程語(yǔ)言里都有, 只要傳遞進(jìn)去值是這個(gè)邏輯即可)
后終于開(kāi)始走索引, 秒查完, 然后網(wǎng)站就順暢了, 用戶舒服了, 客服妹子們不再被用戶罵了.
轉(zhuǎn)載于:https://my.oschina.net/meikaiyuan/blog/160646
總結(jié)
- 上一篇: linux(centos)中的cron计
- 下一篇: mysql 高性能压力测试(总结了好久)