0
我有一個查詢,我想要加入子查詢,它使用outerjoin
函數調用可以正常工作,問題是發出的查詢在2-3s內運行,幾乎立即顯式指定連接方法在SQL服務器控制檯中輸入LEFT HASH JOIN
。SQLAlchemy哈希加入
有沒有一種方法,我可以用它來迫使SQLAlchemy的發射沿着
query = query.outerjoin(sub_query, join_conditions, method='hash')
的線LEFT HASH JOIN
聲明?我試過在StackOverflow和互聯網上的其他地方搜索,但一直沒有找到任何相關的東西。如果對結果有任何影響,我正在使用Microsoft SQL Server。
如果使用ORM的簡單性犧牲了性能,那麼這是一個我很樂意做的折衷,但顯然我不想!
從閱讀源代碼看來,目前您所希望的是不可能的。看看['Query._join'](https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/orm/query.py#L1984),['Join'](https:/ /github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/sql/selectable.py#L679)和編譯器的['visit_join'](https://github.com/zzzeek/sqlalchemy/blob/master/lib /sqlalchemy/sql/compiler.py#L1849)。擴展這些似乎也是一項艱鉅的任務。 –