2015-07-10 3 views
7

У меня есть две таблицы в моей модели:кластерного индекса в Джанго

1) Владелец:

OwnerName 

2) Автомобиль

OwnerKey 

CarName 

CarPrice 

Здесь при создании строки в Собственником таблице I также добавьте Автомобили для этого владельца. Таким образом, все автомобили для определенного владельца хранятся последовательно в таблице автомобилей. Теперь, если я хочу спросить, следует ли мне использовать индексирование кластера или нет? Как только автомобили для определенного владельца будут сохранены, никакие автомобили не будут добавлены для этого владельца, ни один автомобиль не будет удален, только цена будет изменена. Что делать для быстрого доступа? И как реализовать индекс кластера через django?

+1

В нем не упоминается какой-либо кластерный индекс @madzohan –

+0

обычные индексы не будут работать для вас? – miki725

+0

Кластеризация сделает поиск быстрым. Я прав? –

ответ

1

Вопрос заключается в запросе информации, требующей изучения SQL, а не только кода Django.

Если у вас есть только тысячи владельцев и автомобилей, все будет, вероятно, достаточно быстро. Если у вас миллион владельцев или автомобилей, вам нужны индексы, не обязательно «сгруппированные».

Ключ «кластеризованный» реализован в MySQL как PRIMARY KEY. Вы можете иметь только одну таблицу, и ее значения должны быть уникальными.

Я Django, сделать что-то вроде этого, чтобы получить ПК:

column1 = models.IntegerField(primary_key = True) 

Просьба представить схему таблицы у вас уже есть. То есть, выйдите за Django и получите SHOW CREATE TABLE. (То, что вы предоставили слишком расплывчато, поэтому мой ответ является слишком расплывчатым.)

Ссылки:

Нет «сгруппированных» индексов, кроме PRIMARY KEY. Однако вторичный ключ может иметь схожую производительность , если это «индекс покрытия». Этот термин относится к индексу, который содержит все столбцы, найденные в SELECT. Также, столбцы упорядочены правильно.

Давайте посмотрим ваши заявления SELECT, чтобы лучше судить о том, что необходимо.

+0

Но я использую API QuerySets здесь, а не необработанные запросы –