powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор индекса для двух полей
4 сообщений из 4, страница 1 из 1
Выбор индекса для двух полей
    #38594702
Гуляев Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день уважаемые!

У меня вопрос такой:
есть таблица в которой есть два поля:
Код: sql
1.
2.
3.
4.
TABLE  tab1 (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
strTitle CHAR(255) NOT NULL,
langID INT UNSIGNED NOT NULL


мне надо чтобы для каждого langID был возможен свой strTitle . В таком случае мне надо организовывать составной индекс
Код: sql
1.
UNIQUE KEY strlang (strTitle,langID) 

или это плохая идея из-за того что поле strTitle большое? Лучше хеш от него доп. полем организовать и с ним делать составной индекс? Как посоветуете?
...
Рейтинг: 0 / 0
Выбор индекса для двух полей
    #38594714
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему CHAR, а не VARCHAR ?
а индекс я бы оставил (strTitle,langID) или (langID,strTitle), в зависимости от запросов без наворотов типа хэшей и т.п.
...
Рейтинг: 0 / 0
Выбор индекса для двух полей
    #38594751
Гуляев Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftА почему CHAR, а не VARCHAR ?
Так CHAR и правда неверно я выбрал. Строки предполагаются разных длин. Спасибо за наводку.
miksoftа индекс я бы оставил (strTitle,langID) или (langID,strTitle), в зависимости от запросов без наворотов типа хэшей и т.п. Так значит и сделаю, спасибо!
...
Рейтинг: 0 / 0
Выбор индекса для двух полей
    #38594806
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуляев Гошамне надо чтобы для каждого langID был возможен свой strTitle .
В этом случае langID является естественным ключом. Посему можно выбросить синтетический ключ и сделать ключом langID .
Если при этом невозможна и обратная ситуация - одному strTitle соответствует несколько разных langID - можно наложить требование уникальности на поле strTitle , если же такая ситуация возможна - я бы просто сделал первичным ключом комбинацию (langID,strTitle) .
Впрочем, применимость совета зависит от анализа предметной области.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор индекса для двух полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]