Re: How to find greatest record before known values fast

Поиск
Список
Период
Сортировка
От Andrus
Тема Re: How to find greatest record before known values fast
Дата
Msg-id 372D35D97C744BAA80EC37FC6679EDB1@dell2
обсуждение исходный текст
Ответ на Re: How to find greatest record before known values fast  (Merlin Moncure <mmoncure@gmail.com>)
Ответы Re: How to find greatest record before known values fast  (Merlin Moncure <mmoncure@gmail.com>)
Список pgsql-general
Hi!

Thank you.

In my db people often looks for different period sales using different
filters and will sum
There are lot of sales and every sale is individual record in sales table.
So increasing sequential scan speed is important.

I tried

create table t1(v char(100), p numeric(12,5));
create table t2(v varchar(100), p numeric(12,5));
insert into t1 select '', generate_series from generate_series(1,1000000);
insert into t2 select '', generate_series from generate_series(1,1000000);

and after that measured speed of

select sum(p) from t1

and

select sum(p) from t2

Both of them took approximately 800 ms

Also  select max(length(v)) from t1 and select max(length(v)) from  t2

speed is the same

Also I tested with 1600000 rows production char(100) type column database by
running

select sum(decimalcolumn) from testtable

before and after running

alter table testtable alter char100column type varchar(100)

Select sum command tooks 1700 ms in both cases.

So there is no difference in sequential scan speed.
Replacing char with varchar requires re-writing some parts of code.
Disk space is minor issue compared to cost of code-rewrite.
It looks like it is not reasonable to replace char with varchar.

Andrus



В списке pgsql-general по дате отправления:

Предыдущее
От: "Andrus"
Дата:
Сообщение: Re: How to find greatest record before known values fast
Следующее
От: Tim Mickelson
Дата:
Сообщение: Re: Really strange foreign key constraint problem blocking delete