一、背景
近期对系统进行慢SQL优化,通过订阅Mysql慢SQL日志搜集到了一批慢SQL。其中有一条SQL很奇怪,表中已有索引,并且表数据量并不很大,查询效率很低。
二、原因分析
根本原因:sql参数入参为string类型,数据库表为bigint类型,类型不一致导致索引失效。
三、解决办法
- 将代码中的方法入参类型改为long。
- 由于系统是读写分离的,在此方法上使用读库。
四、解决过程
过程未完待续.......
近期对系统进行慢SQL优化,通过订阅Mysql慢SQL日志搜集到了一批慢SQL。其中有一条SQL很奇怪,表中已有索引,并且表数据量并不很大,查询效率很低。
根本原因:sql参数入参为string类型,数据库表为bigint类型,类型不一致导致索引失效。
过程未完待续.......