代碼如下
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即可。