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
|
Список | 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 по дате отправления: