Oracle数据库数据类型引起的性能问题_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

Oracle数据类型引起的性能问题

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

本篇关键词:Oracle数据库Oracle教程
黑客防线网安网讯:    为避免SQL-注入,所有的update,insert,delete,select全部使用带参数的形式编写Update TableName Set FiledName=:Fd1 where Id=:IdID Oracle类型是 Varchar2对应DbType.String问题来了,由...
    为避免SQL-注入,所有的update,insert,delete,select全部使用带参数的形式编写
Update TableName Set FiledName=:Fd1 where Id=:Id
ID Oracle类型是 Varchar2对应DbType.String
问题来了由于类型映射不匹配导致在执行SQLOracle会自动转换类型,这样直接导致无法使用到索引(全部全表扫描),所以update,delete时效率特别差
后修改代码
ID Oracle类型是 Varchar2对应DbType.AnsiString
问题解决了,可以用使用到索引
 
Oracle 数据类型 要绑定为参数的 DbType 枚举 要绑定为参数的 OracleType 枚举 
BFILE
 
BFile
 
BLOB
 
Blob
 
CHAR
AnsiStringFixedLength
Char
 
CLOB
 
Clob
 
DATE
DateTime
DateTime
 
FLOAT
Single、Double、Decimal
Float、Double、Number
 
INTEGER
SByte、Int16、Int32、Int64、Decimal
SByte、Int16、Int32、Number
 
INTERVAL YEAR TO MONTH
Int32
IntervalYearToMonth
 
INTERVAL DAY TO SECOND
Object
IntervalDayToSecond
 
LONG
AnsiString
LongVarChar
 
LONG RAW
Binary
LongRaw
 
NCHAR
StringFixedLength
NChar
 
NCLOB
 
NClob
 
NUMBER
VarNumeric
Number
 
NVARCHAR2
String
NVarChar
 
RAW
Binary
Raw
 
REF CURSOR
 
Cursor
 
ROWID
AnsiString
Rowid
 
TIMESTAMP
DateTime
Timestamp
 
TIMESTAMP WITH LOCAL TIME ZONE
DateTime
TimestampLocal
 
TIMESTAMP WITH TIME ZONE
DateTime
TimestampWithTz
 
UNSIGNED INTEGER
Byte、UInt16、UInt32、UInt64、Decimal
Byte、UInt16、Uint32、Number
 
VARCHAR2
AnsiString
VarChar
 
OracleParameter 对象的 Value 属性使用的 InputOutput、Output 和 ReturnValue ParameterDirection 值是 .NET Framework 数据类型,除非输入值是 Oracle 数据类型(例如 OracleNumber 或 OracleString)这并不适用于 REF CURSOR、BFILE 或 LOB 数据类型。
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-13181-1.html
网站维护教程更新时间:2012-03-23 00:51:35  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer