2024-0105

Oracle数据库DATE类型使用EF性能问题分析

作者: momy 分类: 编程开发 0 Comment »
摘要:EF下未指定具体数据类型,DateTime类型字段在Oracle数据库下默认映射成TIMESTAMP类型,Oracle数据库默认时间类型都是DATE,这种情况直接查询,会造成需要TIMESTAMP隐式转换成DATE类型,造成性能下降。

EF下未指定具体数据类型,DateTime类型字段在Oracle数据库下默认映射成TIMESTAMP类型,Oracle数据库默认时间类型都是DATE,这种情况直接查询,会造成需要TIMESTAMP隐式转换成DATE类型,造成性能下降。


解决方法:

指定TypeName = "DATE"

/// <summary>
/// 操作时间
/// </summary>    
[Column("OPER_DATE", TypeName = "DATE")]
public DateTime? OperDate { get; set; }


这样后,默认使用TO_DATE()映射转换,而不是TO_TIMESTAMP()

标签: TIMESTAMP DATE Oracle EF 阅读: 198
上一篇: C#进程间通信 - 974次
下一篇: 无法将类型为“Microsoft.VisualStudio.CommonIDE.Solutions.SolutionPropertyBagImpl”的对象强制转换为类型“Ankh.Scc.Native.ICOMPropertyBag - 168次

向右滑动解锁留言