2015-01-12 3 views
0

У меня есть приложение Django с таблицей MySQL, в которой помимо запросов на основе первичного ключа таблицы я также выполняю множество запросов в slugname для бизнес-имени, поскольку имя slug является частью URL-адреса. www.mywebsite.com/slug-name/. Имя slug - уникальное значение.Уникальный индекс MySQL на поле Varchar - за и против?

У меня есть бизнес ID целое число как PRIMARY ключ и PRIMARY индекс.

MySQL ТАБЛИЦА:

id - int, pk, primary index 
name - varchar(50) 
slugname - varchar(50) (is unique value) 
... 
  1. Будет ли быть какой-либо из основных выгод от индексации slugname?
  2. Поскольку имя slugname уникально, обязательно укажите UNIQUE индекс над fulltext index?
  3. Любые минусы индексирования поля varchar?
  4. Может ли fulltext получить любые преимущества по сравнению с UNIQUE?
  5. Может ли Django запрашивать индекс?

ответ

2

Я не могу anwser все ваши вопросы, но:

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

  2. Вы должны использовать уникальный индекс, таким образом, вы не должны делать поиск, чтобы проверить на уникальный, просто пусть базу данных бросать ошибку и обработать его правильно Джанго

  3. в системах сегодняшних, я скажет нет, особенно тот, который составляет всего 50 символов.

  4. Не уверен, что ... я держу пари, что Google может сказать вам про и минусы каждого из них, и вы могли бы применить это к вашей ситуации/использование

  5. Да, см # 1.

+0

Благодарим за отзыв! Наверное, я был на правильном пути и хотел получить подтверждение :) – WayBehind

Смежные вопросы