Индексные таблицы в базе данных Django PostgreSQL - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть эта модель -

class Table(models.Model):
    name = models.CharField(max_length=100, unique=True)
    status = models.IntegerField(default=0)

У меня здесь нет db_index=True, поэтому в идеале не должно быть никаких созданных таблиц индекса.Но вот что я получаю, когда запускаю SELECT * FROM pg_indexes WHERE tablename = 'Schema_table'; -

schemaname | tablename    | indexname                       | tablespace | indexdef
public     | Schema_table | Schema_table_name_ad77b83a_like |            | CREATE INDEX "Schema_table_name_ad77b83a_like" ON "Schema_table" USING btree (name varchar_pattern_ops)
public     | Schema_table | Schema_table_name_key           |            | CREATE UNIQUE INDEX "Schema_table_name_key" ON "Schema_table" USING btree (name)
public     | Schema_table | Schema_table_pkey               |            | CREATE UNIQUE INDEX "Schema_table_pkey" ON "Schema_table" USING btree (id)
(3 rows)

. Я могу понять, почему будет индекс для первичного ключа (pkey), но почему остальные?Если я правильно понимаю, каждый раз, когда объект создается / обновляется, соответствующая индексная таблица также обновляется.Означает ли это, что для каждой операции записи в эту таблицу у меня будет всего 4 операции записи (1 для фактической записи в таблицу и 3 для таблиц индекса)?

...