Oracle数据库中sql查询很快,但在程序中查询较慢的原因和解决方法
2021-03-03 17:06 假面Wilson 阅读(3318) 评论(0) 编辑 收藏 举报代码如下
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即可。