Search Postgresql Archives

For Loop using row_data to increase performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Here are sample stat:
 - Template_product has 1,033040 rows
 - template_all_in_one has 93,796,400 rows

I basically need to calculate the total for each article in
template_all_in_one and update it to Template_product.

What is the best way to improve the performance? I already have 7
indexes specify for the column.  My desktop has 4quad and 8 GB memory.
it only used up 1 GB memory. is it possible to increase the memory, so
the query will use more memory and end up faster performance?

===================================
CREATE OR REPLACE FUNCTION test_update_template_db()
  RETURNS integer AS
$BODY$
  DECLARE
     text_manipulation TEXT :='';
    row_data template_product%ROWTYPE;

  BEGIN

    FOR row_data IN SELECT * FROM template_product LOOP

       update template_product set total_all_in_one = (select count(*)
from template_all_in_one where template_article_name =
row_data.template_article_name)
       where template_product.id = row_data.id;

    END LOOP;

    RETURN 1;
  END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;
ALTER FUNCTION test_update_template_db() OWNER TO postgres;
========================================

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux