"sasha" ...
> Запрос Б, делает какой-то странный по-моему план. При этом
> осуществляется полный перебор по таблице "TaggedObjects".
>
>
> SELECT TOB.*
> FROM CONVERT_IDS_TO_ROWS('54319218, 54319223') R
> JOIN (
> SELECT O."Id", O."ObjectId", O."TagName", T."Permanent", T."MatchesCount"
> FROM "TaggedObjects" O
> LEFT JOIN "Tags" T ON T."Id" = O."TagId"
> WHERE O."ObjectName" = 'FeedItem'
> ) TOB ON TOB."ObjectId" = R.ID
>
>
> PLAN MERGE (SORT (JOIN (TOB O NATURAL, TOB T INDEX (PK_Tags))), SORT
> (CONVERT_IDS_TO_ROWS NATURAL))
Похоже он это рассматривает как
("TaggedObjects" O LEFT JOIN "Tags" T) JOIN CONVERT_IDS_TO_ROWS
вместо
CONVERT_IDS_TO_ROWS JOIN ("TaggedObjects" O LEFT JOIN "Tags" T)
А как работает
SELECT TOB.*
FROM CONVERT_IDS_TO_ROWS('54319218, 54319223') R
LEFT JOIN (
SELECT O."Id", O."ObjectId", O."TagName", T."Permanent", T."MatchesCount"
FROM "TaggedObjects" O
LEFT JOIN "Tags" T ON T."Id" = O."TagId"
WHERE O."ObjectName" = 'FeedItem'
) TOB ON TOB."ObjectId" = R.ID
?
--
Хорсун Влад