SQL优化:
应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描
原语句:
select * from table where id=666 and num=10 or num=20
SqlAlchemy or语句
list = Table.query.filter( Table.id == 666 ,or_(Table.num == 10,Table.num == 20))
SqlAlchemy union语句
list1 = Table.query.filter( Table.id == 666 ,Table.num == 10)
list2 = Table.query.filter( Table.id == 666 ,Table.num == 20)
list = list1.union(list2)