SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.12.2010 14:21:30

vvsh
Завсегдатай
Зарегистрирован: 12.01.2008
Сообщений: 50

уникальный индекс для нескольких столбцов

такая таблица с данными
Id query module
1 123 blog
2 345 blog
3 123 comments
4 345 comments То есть для одинаковых значений в
столбце module не могут быть повторяющиеся значения в query, только уникальные. не хочется еще проверять каждый
раз нет ли такого уже значения. такое можно реализовать? заранее спасибо

Неактивен

 

#2 02.12.2010 14:28:55

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: уникальный индекс для нескольких столбцов

CREATE UNIQUE INDEX name_index ON table_name (query,module);

или
ALTER TABLE table_name ADD UNIQUE INDEX (query,module);

Неактивен

 

#3 02.12.2010 14:50:38

vvsh
Завсегдатай
Зарегистрирован: 12.01.2008
Сообщений: 50

Re: уникальный индекс для нескольких столбцов

а это не повлияет на скорость выборки? и добавления данных?
просто данные выбираются таким запросом

SELECT `query` FROM `search` WHERE `query` LIKE '%query text%' ORDER BY `count` DESC LIMIT 6

Отредактированно vvsh (02.12.2010 16:30:01)

Неактивен

 

#4 02.12.2010 16:15:19

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: уникальный индекс для нескольких столбцов

На выборку не повлияет. Добавление замедлит.

Неактивен

 

#5 02.12.2010 16:34:02

vvsh
Завсегдатай
Зарегистрирован: 12.01.2008
Сообщений: 50

Re: уникальный индекс для нескольких столбцов

спасибо. вопрос такой эта таблица как бы служит для авто дополнения при поиске. может посоветуете менее ресурсоемкое решение, а то я представляю сколько там будет записей.

Отредактированно vvsh (02.12.2010 16:35:16)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson