Автор Прим Палвер задал вопрос в разделе Другие языки и технологии
Как работает индекс в MySQL? и получил лучший ответ
Ответ от Антон -[гуру]
Используется всегда какой то один индекс таблицы, либо ни одного. Индекс выбирается по критерию: отсечь как можно больше данных. Чтобы посмотреть какой индекс использует MySQL на конкретном запросе, нужно перед запросом добавить слово EXPLAIN:
EXPLAIN SELECT * FROM ...
>> установить несколько индексов на одно текстовое поле базы данных
это как?
Антон -
Мыслитель
(5266)
> Я так понимаю, вы вообще с этим не сталкивались
Почти верно, всегда работал с числовыми индексами.
Целесообразнее один индекс, тот что длиннее, т.к. address(6) будет содержать всю структуру индекса address(3). Т.е. на вставках ресурсы будут тратиться на обновление 2ух индексов, а данные в них фактически частично дублируются.
Как подобрать длину... Увеличивать "1" в этом запросе, пока 2 колонки не станут численно близки в пределах одного порядка. Т.е. индекс должен содержать такую подстроку, чтобы количество уникальных записей в индексе было как можно большим. В идеале эти числа должны быть равны, но на таком поле как адрес при большом количестве записей добиться этого 5ю символами тяжело.
SELECT COUNT(DISTINCT SUBSTRING(`address`, 0, 1)), COUNT(`address`) FROM `table`
Многое зависит от того что в этой строке содержится. Можно разбить колонку на несколько разных, при записи строки производить некие дополнительные операции упрощающие будущий поиск. Вплоть до вставки HASH колонки по которой сперва фильтруется таблица, а потом из 1-2 строк выбирается строка удовлетворяющая условию фильтра по текстовому полю. Это работает идеально быстро, скажем если HASH ничто иное как Int32.
ЧПУ и индекс MySQL
А какой-нибудь простой хеш-индекс на это поле поставить нельзя?
К тому же, никакие вопросы
подробнее...
Вопрос о первичных ключах в mysql
Код ПОЛНОСТЬЮ. Желательно не сюда, а на pastebin.com. Или даже на sqlfiddle.com, если осилишь. Без
подробнее...
Подскажите срочно пожалуйста, что за институт в москве на миклухо-маклая, там возле него вроде еще статуя молекулы...
Институт биоорганической химии им. М. М. Шемякина и Ю. А. Овчинникова" (ИБХ РАН)
Основан в
подробнее...
Подскажите в каком городе находится Свято Михайло Архангельский монастирь,и если можно адрес????
по храмам
Несколько адресов поисковик выдаёт, чаще всего в Сочи и в Новочеркасске .
В
подробнее...
Как оформить конверт для отправки в США,
Этот адрес нужен, если письмо вернется. Доставлять его будет наша, российская почта, поэтому
подробнее...
Ошибка СУБД: Длина ключа индекса превышает максимально допустимую.
Ошибка появляется при обновлении или когда архив из SQL базы пытаетесь в файловом режиме
подробнее...
Подскажите,как сделать выборку из MySql в php сайт
"В изучении Php я новичок" - значит, наверное основы все же знаешь.
Для начала нужно
подробнее...
MySQL: order by неправильно сортирует
А ты попробуй ORDER BY UPPER(`field`) или что-то подобное. Ибо есть у меня подозрение, что дело
подробнее...
Здарово ВСЕМ!Нужен совет? Какой масло лить в YAMAHA R6 2009 года
Добрый день, лейте Мотюль 5W40 полностю синтетическое масло. Оно очень мала уходить в угар, и
подробнее...
Вопрос про MySQL CEIL(RAND()*значение)
Если есть индекс по baseid, то всё ок.
Вообще если 20-30 записей, лучше выбрать все эти записи
подробнее...
Полнотекстовый поиск MySQL проблема с кириллицей
FULLTEXT - поля с полнотекстовым индексом могут быть только на таблицах типа MyISAM
Кодировка
подробнее...
как сделать запрос чтобы удалялись все данные из таблицы mysql?
удаляются записи из таблицы так:
DELETE FROM mag - удалить все записи из mag;
подробнее...
какое масло следует заливать в двигатель с пробегом 100000 км?
Если двигло нормальное то лей синтетику - я в свой PF (пассатовский мотор) со стажем 24 года и 400
подробнее...