Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.10.2008, 16:45
|
|||
|---|---|---|---|
|
|||
индексы и все о них |
|||
|
#18+
Объясните пожалуйста работу индексов: Есть табличка: id serial PRIMARY KEY, parent_id int4 NOT NULL, name varchar(255), is_main boolean NOT NULL, sort_order int4 NOT NULL SELECT * FROM table WHERE is_main = true AND parent_id IS NULL ORDER BY sort_order, name; Меня инетерсует слудеющее: Если создать индекс на (is_main, parent_id) - для выборки и на (sort_order, name) - для сортировки, то будет ли использоваться 2 индекса при запросе (один для выбоки второй для сортировки)? Или будет использован только первый индекс для выбоки, а для сортировки индекс использован не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.10.2008, 18:34
|
|||
|---|---|---|---|
индексы и все о них |
|||
|
#18+
spyfox wrote: > Если создать индекс на (is_main, parent_id) - для выборки и на > (sort_order, name) - для сортировки, то будет ли использоваться 2 > индекса при запросе (один для выбоки второй для сортировки)? Или будет > использован только первый индекс для выбоки, а для сортировки индекс > использован не будет? Обычно для доступа к таблице используется один индекс или не используется индекс вообще. В сложных случаях может использоваться несколько индексов, но не для сортировки. Короче, ответ (примитивно) - нет, будет использован только первый индекс для выбоки, а для сортировки индекс использован не будет. Или же наоборот, не будет для фильтраци, а будет для сортировки. К тому же если у вас индекс будет эффективно использоваться для фильтрации, то как правило он будет возвращать небольшое число записей, которое отсортировать несложно, т.е. там нет смысла использовать индекс для сортировки (дороже). И наоборот, если имеет смысл использовать индекс для сортировки, то это значит, что записей много и, следовательно, сервер не смог найти хороший индекс для фильтрации. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2008, 11:22
|
|||
|---|---|---|---|
|
|||
индексы и все о них |
|||
|
#18+
а может ли один индес быть использован как для выборки так и для сортировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2008, 12:22
|
|||
|---|---|---|---|
индексы и все о них |
|||
|
#18+
SELECT * FROM table WHERE is_main = true AND parent_id IS NULL ORDER BY sort_order, name индекс может выглядеть примерно так Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2008, 12:24
|
|||
|---|---|---|---|
индексы и все о них |
|||
|
#18+
прастите, главное слово инструкции зобыл :0) assaиндекс может выглядеть примерно так Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2003911]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 394ms |

| 0 / 0 |
