SQLAlchemy:具有ForeignKey的Column是否自动创建索引?

Vit*_*mar 10 sqlalchemy

带有ForeignKey的Column是否自动创建索引?或者我需要手动添加index=True

some_field = Column(Integer, ForeignKey(SomeModel.id))
Run Code Online (Sandbox Code Playgroud)

谢谢!

van*_*van 14

您需要显式指定index=True或创建Index对象:
Index('myindex', mytable.c.col1, mytable.c.col2, unique=True)这允许更多地控制索引的其他参数,例如多个列的名称和支持.

有关更多信息,请参阅索引.

  • Sqlalchemy不会为你做那件事,但mysql的Inno引擎会自动执行此操作. (2认同)
  • 主键也是如此吗? (2认同)
  • @BerislavLopac:我相信大多数(如果不是全部)RDBMS 会自动为主键创建索引。 (2认同)
  • @van:与 MySQL 的 InnoDB 引擎不同,Postgres 不会*为您创建外键索引。 (2认同)