powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Правильный порядок столбцов в индексе
8 сообщений из 8, страница 1 из 1
Правильный порядок столбцов в индексе
    #35483319
mcau
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://samokhvalov.com/files/Lecture6.pdfМногоколоночные индексы
− следим за правильным порядком столбцов
− избегаем ненужных одноколоночных индексов


Каков он правильный порядок столбцов ???7
...
Рейтинг: 0 / 0
Правильный порядок столбцов в индексе
    #35483491
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcau http://samokhvalov.com/files/Lecture6.pdfМногоколоночные индексы
− следим за правильным порядком столбцов
− избегаем ненужных одноколоночных индексов


Каков он правильный порядок столбцов ???7
Ну для начала дока .

В кратце про порядок:
Код: plaintext
but the index is most efficient when there are constraints on the leading (leftmost) columns
...
Рейтинг: 0 / 0
Правильный порядок столбцов в индексе
    #35485078
chAlx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только надо понимать, что имеется в виду порядок полей в индексе, а не в таблице. Я бы сформулировал смысл приведённого фрагмента попроще: "Для большей производительности в качестве первого поля индекса рекомендуется использовать уникальное поле таблицы."
...
Рейтинг: 0 / 0
Правильный порядок столбцов в индексе
    #35485348
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
порядок полей в индексе определяется интересующим запросом.

например при выборке 10 самых дешевых сотовых телефонов из таблицы products с полями

id // primary key
category_id // foreign key
name
price

для ускорения запроса select * from products where category_id='mobile' order by price limit 10

надо создать индекс по комбинации полей (category_id,price)
...
Рейтинг: 0 / 0
Правильный порядок столбцов в индексе
    #35485365
chAlx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBatпорядок полей в индексе определяется интересующим запросом.
Хм, по приведённому примеру видно только, что набор полей в индексе определяется интересующим запросом. А порядок как раз определится структурой таблицы: category_id ключевое поле, поэтому его ставим первым.
...
Рейтинг: 0 / 0
Правильный порядок столбцов в индексе
    #35485478
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chAlxпо приведённому примеру видно только, что набор полей в индексе определяется интересующим запросом.индекс с другим порядком полей (price,category_id) для данного запроса не будет эффективным. потому что план Limit, IndexScan, Firlter(category_id=$1) хуже плана Limit, IndexScan, IndexCond(category_id=$1).

chAlx category_id ключевое полев этой таблице уникальное поле id, а category_id - нет.
...
Рейтинг: 0 / 0
Правильный порядок столбцов в индексе
    #35485523
chAlx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBat chAlxпо приведённому примеру видно только, что набор полей в индексе определяется интересующим запросом.индекс с другим порядком полей (price,category_id) для данного запроса не будет эффективным
Факт.
Но это ведь не от запроса зависит, а от таблицы.. Хотя в общем случае, пожалуй, от них обоих.

LeXa NalBat chAlx category_id ключевое полев этой таблице уникальное поле id, а category_id - нет.
Ну да, "уникальное поле" вместо constraint -- это упрощение. Но "ключевое поле" ведь годится?

Короче, нафиг все эти советы: надо разбираться, как оно работает, и ориентироваться не по правилам, а по смыслу .
...
Рейтинг: 0 / 0
Правильный порядок столбцов в индексе
    #35485529
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chAlx wrote:
> Хм, по приведённому примеру видно только, что /набор/ полей в индексе
> определяется интересующим запросом.

Да, так оно и есть в жизни.

А порядок как раз определится
> структурой таблицы: *category_id* ключевое поле, поэтому его ставим первым.

Не структурой таблицы, а именно запросом.
До структуры таблицы индексу вообще по барабану.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Правильный порядок столбцов в индексе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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