Oracle数据库中sql查询很快,但在程序中查询较慢的原因和解决方法


代码如下 

            string sql = "SELECT * FROM LIS_V_LABTESTSAMPLE WHERE PATIENT_ID=:P";
            HlsAccess.CommandText = sql;
            HlsAccess.Parameters.Clear();
            HlsAccess.Parameters.Add(":P", Oracle.DataAccess.Client.OracleDbType.NVarchar2).Value = patId;

这里指定了参数的类型为Nvarchar2,但是数据库字段类型是Varchar2,这时就会造成字段类型错误导致了表扫描,最后导致查询速度慢。 

解决方案就是参数改成Varchar2即可。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM