sum of all values
От | Madison Kelly |
---|---|
Тема | sum of all values |
Дата | |
Msg-id | 41E73D00.6030206@alteeve.com обсуждение исходный текст |
Ответы |
Re: sum of all values
|
Список | pgsql-performance |
Hi all, Is there a fast(er) way to get the sum of all integer values for a certain condition over many thousands of rows? What I am currently doing is this (which takes ~5-10sec.): SELECT SUM (a.file_size) FROM file_info_1 a, file_set_1 b WHERE a.file_name=b.fs_name AND a.file_parent_dir=b.fs_parent_dir AND a.file_type=b.fs_type AND b.fs_backup='t'; I need to keep parts of the data in two tables. I currently use 'file_name/fs_name', 'file_parent_dir/fs_parent_dir' and 'file_type/fs_type' to match the entries in the two tables. The 'file_info_#' table is frequently dropped and re-created so this was the only way I could think to match the data. I am hoping that maybe there is something I can do differently that will return this value a lot faster (ideally within a second). I know that this is heavily dependant on the system underneath but the program is designed for Joe/Jane User so I am trying to do what I can in the script and within my DB calls to make this as efficient as possible. I realise that my goal may not be viable. Here are the schemas, in case they help: tle-bu=> \d file_info_1 Table "public.file_info_1" Column | Type | Modifiers -----------------+---------+---------------------------- file_acc_time | bigint | not null file_group_name | text | not null file_group_uid | integer | not null file_mod_time | bigint | not null file_name | text | not null file_parent_dir | text | not null file_perm | text | not null file_size | bigint | not null file_type | text | not null default 'f'::text file_user_name | text | not null file_user_uid | integer | not null Indexes: "file_info_1_display_idx" btree (file_parent_dir, file_name, file_type) "file_info_1_search_idx" btree (file_parent_dir, file_name, file_type) tle-bu=> \d file_set_1 Table "public.file_set_1" Column | Type | Modifiers ---------------+---------+---------------------------- fs_backup | boolean | not null default true fs_display | boolean | not null default false fs_name | text | not null fs_parent_dir | text | not null fs_restore | boolean | not null default false fs_type | text | not null default 'f'::text Indexes: "file_set_1_sync_idx" btree (fs_parent_dir, fs_name, fs_type) Thanks all! Madison
В списке pgsql-performance по дате отправления: