The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Почему при использовании оператор IN пропадает индекс?"
Версия для распечатки Пред. тема | След. тема
Форум WEB технологии
Исходное сообщение [ Отслеживать ]

. "Почему при использовании оператор IN пропадает индекс?" +/
Сообщение от Сергей (??), 18-Июн-23, 11:12 
> Доброго времени суток!
> Есть таблица. И два запроса:
> select id FROM articles WHERE id in ( 45, 46);
> select id FROM articles WHERE id IN(SELECT 45 union SELECT 56);
> В первом случае стоимость (cost) 1.82. В таблице articles используется Primary Index
> и идет Index Range Scan .
> Во втором случае стоимость (cost) 2003.22. В таблице используется другой индекс и
> идет Full Index Scan.
> Откуда такая разница и как заставить второй запрос использовать Primary Index?

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

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Почему при использовании оператор IN пропадает индекс?, Дмитрий, 17-Июн-23, 22:22  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру