我使用Python和SQLAlchemy访问Oracle 11数据库。 据我所知,SQLAlchemy总是使用预处理语句。
在一个巨大的表(4百万条记录)上,正确索引,SQLAlchemy过滤器查询不使用索引,因此进行全表扫描非常慢;在“原始”SQL编辑器(SQLplus)中使用相同的SQL代码使Oracle使用具有良好性能的索引。
我们尝试在请求中添加“+ index”提示,但不会影响仍不想使用索引的Oracle执行路径。
有什么想法吗?是否有可能真正强制Oracle使用索引,或者使SQLAlchemy不使用预准备语句?
祝你好运, 亨利