У меня есть таблица Case, которая имеет почти 25,00,000 строк и 176 столбцов (в основном VARCHAR)PostgreSQL растровой куча сканирование занимает много времени
select
count(ca.id)
from
salesforce.case ca
where
ca.accountid = '001i000000E'
AND ca.createddate BETWEEN current_date - interval '6 months' AND current_date
Я пытаюсь получить количество записей, созданные за последние 6 месяцев для конкретного Счет. Но когда я смотрю на объяснение и анализ, я обнаружил, что первый индекс просматривает все записи, созданные в этот промежуток времени, и индекс просматривает все записи для этой учетной записи, а затем выполняет сканирование растровой кучи (что занимает много времени).
https://explain.depesz.com/s/8Lje
Есть ли способ, мы можем сделать это быстрее?
1,125.320 мс - одна секунда на 25 * 10^6 строк 176 столбцов ... растровое сканирование кучи идет более миллиона строк, соединяющих 200K, давая результат для 500K строк. И это занимает одну секунду - верно? –