SQLAlchemy在建表时候创建索引
时间: 2023-10-12 15:14:08 浏览: 128
回答:
可以在建表时使用Column类的index参数进行索引的创建。
例如:
```python
from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
name = Column(String(50))
age = Column(Integer)
__table_args__ = (
{'mysql_engine': 'InnoDB'}, # 设置表引擎
{'mysql_charset': 'utf8mb4'} # 设置表字符集
)
# 创建索引
idx_name = Column(String(50), index=True)
```
上面的代码中,我们给name字段创建了一个索引。如果在已有的表中创建索引,可以使用`Index`类。
例如:
```python
from sqlalchemy import Index
# 给user表的name字段创建索引
Index('idx_user_name', User.name)
```
注意:在创建索引时,需要根据实际情况选择需要创建索引的字段,过多的索引会导致性能下降。
阅读全文