公司最近电脑硬件升级,原来在winXP下运行的vb6程序搬到win8下运行,充值交易由原来的1秒5笔,变成现在的1笔交易要8秒,原来170笔充值交易只需34秒,现在变成22分钟,不是一般的慢。从后台数据库看是select查询语句变慢,用时2.92秒,strSql2 = "select type,Valid_date,amount,cardno,status from carddata where substr(cardno,1,18) =?"这一查询语句在win8下与 winXP下有什么区别吗
------解决思路----------------------
select type,Valid_date,amount,cardno,status from carddata where substr(cardno,1,18) =?
这一句不管在什么环境下都无法使用索引,都是表扫描
------解决思路----------------------
后台是Oracle数据库吧? 建议优化一下SQL写法.
"where substr(cardno,1,18) =to_char(?)" --> 这样是无法用索引的.