db_index 在 Django 中作为原始 sql 查询
db_index in django as raw sql query
任何人都可以在 django 中指定为 db_index = True
执行的原始 sql 查询,我有一个模型字段,我需要将其更改为 db_index 为 True,但是我的 rds 服务器由于许多数据库进程并行运行而崩溃,
url = models.CharField(db_index=True,max_length=100, blank=True)
此更改的原始 psql 查询是什么
如果你添加db_index=True
到模型然后运行 makemigrations
,你可以使用sqlmigrate
来显示你的数据库后端的SQL命令.
python manage.py sqlmigrate my_app 000X_migration_name
对于 postgres,这将生成 SQL 类似于以下内容:
BEGIN;
--
-- Alter field url on mymodel
--
CREATE INDEX "myapp_mymodel_url_2e338adc" ON "myapp_mymodel" ("url");
CREATE INDEX "myapp_mymodel_url_2e338adc_like" ON "myapp_mymodel" ("url" varchar_pattern_ops);
COMMIT;
任何人都可以在 django 中指定为 db_index = True
执行的原始 sql 查询,我有一个模型字段,我需要将其更改为 db_index 为 True,但是我的 rds 服务器由于许多数据库进程并行运行而崩溃,
url = models.CharField(db_index=True,max_length=100, blank=True)
此更改的原始 psql 查询是什么
如果你添加db_index=True
到模型然后运行 makemigrations
,你可以使用sqlmigrate
来显示你的数据库后端的SQL命令.
python manage.py sqlmigrate my_app 000X_migration_name
对于 postgres,这将生成 SQL 类似于以下内容:
BEGIN;
--
-- Alter field url on mymodel
--
CREATE INDEX "myapp_mymodel_url_2e338adc" ON "myapp_mymodel" ("url");
CREATE INDEX "myapp_mymodel_url_2e338adc_like" ON "myapp_mymodel" ("url" varchar_pattern_ops);
COMMIT;