Если совсем всё выкинуть, то дела такие:
1) Вьюха:
CREATE VIEW "UndeletableRssFeedItems" AS
SELECT *
FROM "RssFeedItems" I
LEFT JOIN (
SELECT MIN(RDB$DB_KEY) AS ENCLOSURE_KEY, "FeedItemId" FROM "RssFeedItemEnclosures"
GROUP BY "FeedItemId")
AS EN ON EN."FeedItemId" = I."Id"
LEFT JOIN "RssFeedItemEnclosures" E ON E.RDB$DB_KEY = EN.ENCLOSURE_KEY
2) Тормоза (полный перебор RssFeedItems + куча индексированных чтений из
RssCacheElements)
SELECT *
FROM "UndeletableRssFeedItems" RFI
JOIN "RssCacheElements" RCE ON RFI."FeedId" = RCE."RssFeedId"
WHERE RCE."FeedDefinitionId" = 1540
3) Нет тормозов (одно индексированное чтение из RssCacheElements):
SELECT *
FROM "RssFeedItems" RFI
JOIN "RssCacheElements" RCE ON RFI."FeedId" = RCE."RssFeedId"
WHERE RCE."FeedDefinitionId" = 1540