Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Postgres Analyze

Posted on 2011-09-06
6
Medium Priority
?
635 Views
Last Modified: 2012-05-12
We have a function that truncates a table (table1), then populates it with several million rows and then inner joins to another table (table2) that also has several million rows.

Is it possible/advisable to ANALYZE table1 within the function? i.e., right after we dump the millions of rows into table1, can we issue an “ANALYZE table1” from within the function before we join it to table2?
0
Comment
Question by:dthansen
  • 2
  • 2
  • 2
6 Comments
 
LVL 22

Expert Comment

by:earth man2
ID: 36493771
No
Analyze the SQL statements that are causing your bottlneck individually standalone.
0
 
LVL 4

Expert Comment

by:thewild
ID: 36501513
No, you cannot run VACUUM ANALYZE inside a function.
More generally, you cannot run VACUUM inside a transaction block. Since functions are always run in a transaction, VACUUM is not possible inside them.

Instead of a stored procedure, you could run the statements one by one.
0
 

Author Comment

by:dthansen
ID: 36501904
I am not concerned with running VACUUM ANALYZE inside the function, just ANALYZE.

Thanks,
Dean
0
Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

 
LVL 4

Accepted Solution

by:
thewild earned 2000 total points
ID: 36502027
Sorry, since you were asking whether it was possible, I thought you meant VACUUM ANALYZE.
ANALYZE is possible inside a procedure.
In your case it is probably recommended.
Have you tried to run EXPLAIN ANALYZE on the query joining your tables with and without running ANALYZE first ?
0
 

Author Comment

by:dthansen
ID: 36502467
One of the tables is a temporary table created function. I'm not sure it is possible to run an EXPLAIN ANALYZE on that table as it is both created and dropped within the function.

Thanks,
Dean
0
 
LVL 22

Expert Comment

by:earth man2
ID: 36515448
create a new stored procedure that creates the data as before but does not delete the table and data.  Then interactively execute the SQL with EXPLAIN ANALYZE
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
Instead of error trapping or hard-coding for non-updateable fields when using QODBC, let VBA automatically disable them when forms open. This way, users can view but not change the data. Part 1 explained how to use schema tables to do this. Part 2 h…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

877 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question