powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Индексация полей
8 сообщений из 8, страница 1 из 1
Индексация полей
    #39821033
pr0n1x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, давно мучает вопрос, но не могу найти конкретный ответ на него.

Допустим есть интернет магазин, есть таблица с товарами, в таблице есть много полей, 2 поля это конкретно цена товара, пусть будет INT и дата создания товара, пусть будет DATETIME.

Таблица скажем на 100,000 товаров.

На самом сайте есть форма поиска, где человек может указать цену от и до и отсортировать по новым товарам.

При поиске будут задействованы 2 поля, которые указал выше.

Вопрос в том, что если ли смысл индексировать эти поля?

Ведь поле дата создания товара, всегда будет иметь уникальные значения (практически невозможно создать 2 товара в одно и тоже время), если создать по нему индекс, то в индекс попадут все равно все значения из таблицы и при поиске по индексу базе все равно прийдется перебрать все записи.

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

Так стоит индексировать такие поля?
...
Рейтинг: 0 / 0
Индексация полей
    #39821046
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pr0n1xбудут доминировать уникальные значения и базе прийдется их перебиратьВсе наоборот. Именно уникальные значения увеличивают пользу от индекса.
...
Рейтинг: 0 / 0
Индексация полей
    #39821048
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pr0n1xНа самом сайте есть форма поиска, где человек может указать цену от и до и отсортировать по новым товарам.Сразу для обоих операций задействовать индекс не получится. Чтобы понять какое именно поле лучше индексировать надо понимать статистику данных и конкретные значения диапазона цены.
...
Рейтинг: 0 / 0
Индексация полей
    #39821058
pr0n1x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftpr0n1xбудут доминировать уникальные значения и базе прийдется их перебиратьВсе наоборот. Именно уникальные значения увеличивают пользу от индекса.

уникальные значения увеличивают пользу от индекса?????
каким образом?
...
Рейтинг: 0 / 0
Индексация полей
    #39821062
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pr0n1xmiksoftпропущено...
Все наоборот. Именно уникальные значения увеличивают пользу от индекса.

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

А размер индекса не зависит от уникальности значений.
...
Рейтинг: 0 / 0
Индексация полей
    #39821067
pr0n1x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftpr0n1xпропущено...


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

А размер индекса не зависит от уникальности значений.

Чем больше уникальных значений тем лучше или как???
Чем больше уникальных значений тем больше итераций базе прийдется сделать, где тут польза?
...
Рейтинг: 0 / 0
Индексация полей
    #39821070
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pr0n1xЧем больше уникальных значений тем лучше или как???Чем значения более уникальные, тем лучше. Это повышает селективность индекса и уменьшает объем выборки.
...
Рейтинг: 0 / 0
Индексация полей
    #39821115
tadeyiloda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pr0n1x,

почитай как работают индексы
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Индексация полей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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