ORACLE 查询条件N' 造成索引失效

kisshexuxia 2021-01-29 06:11:00
环境:
ORACLE 11.2.0.4.0
.netcore2.2 EFCORE

SQBH字段类型为varchar2
创建索引语句
CREATE INDEX SQBHINDEX2021 ON TABLE (SQBH)

efcore 自动生成的SQL查询语句带N时候索引失效
SELECT * FROM "TABLE"  WHERE "d"."SQBH" IN (N'330000102001', N'330000102200')


SQL查询语句不带N时候索引有效
SELECT * FROM "TABLE"  WHERE "d"."SQBH" IN ('330000102001', '330000102200')



带了N隐式转换为了NVARCHAR2 ,索引失效
一种直接手动写SQL,这个就不用EFCORE .
用EFCORE的情况下怎么指定这个SQBH字段不带N
或者让索引有效
...全文
243 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kisshexuxia 2021-01-30
  • 打赏
  • 举报
回复
SQBH字段类型改为 nvarchar2是可以解决问题,但是很对表里都已经有数据了,而且关联的表比较多、所有的字段去改类型比较麻烦
卖水果的net 2021-01-30
  • 打赏
  • 举报
回复
用EFCORE的情况下怎么指定这个SQBH字段不带N 或者让索引有效 1、这个软件不了解,不清楚是否有这样的功能,可以找专业的人员看看。 2、可以把 SQBH字段类型改为 nvarchar2。
kisshexuxia 2021-01-30
  • 打赏
  • 举报
回复
问题已解决:创建索引的时候用函数索引(TO_NCHAR(SQBH))
内容概要:本文围绕碳排放流理论与混合整数线性规划(MILP)方法,开展源荷协同优化研究,旨在通过Matlab代码实现低碳、高效的能源系统调度。研究综合考虑电源侧、负荷侧及电网传输环节,构建了能够精确追踪碳排放流动路径的优化模型,并采用MILP方法进行多时段协同决策求解,实现了对系统运行的全局优化。文中系统阐述了碳排放流的建模机制、源荷两侧的协同约束条件以及以碳排放最小化为核心的多目标函数设计方法,通过Matlab编程完成模型求解与仿真验证,结果表明该方法能有效降低系统整体碳排放水平,提升清洁能源消纳能力,并优化能源资源配置效率。; 适合人群:具备一定电力系统、运筹学及低碳能源系统相关基础知识,熟悉Matlab编程环境,从事能源系统优化、综合能源管理、碳排放核算与调度、虚拟电厂等领域研究的科研人员、工程技术人员及研究生。; 使用场景及目标:①应用于虚拟电厂、区域综合能源系统、微电网等场景下的多时间尺度低碳优化调度;②实现电网中碳排放责任的精细化溯源与分摊,为碳交易机制下的经济激励与成本分摊提供量化依据;③为新型电力系统低碳化、清洁化转型提供科学的分析工具与决策支持手段。; 阅读建议:读者应结合文中提供的Matlab代码,深入理解碳排放流建模的数学逻辑与MILP优化问题的构建过程,重点关注目标函数与约束条件的数学表达形式及其物理意义,建议动手复现算例,通过调整参数和场景设置,探究不同因素对优化结果的影响,从而深化对源荷协同机制与碳流分配原理的认知。

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧