Thread: optimizer parameters
Dear ,all
i would to ask you about how postgresql optimizer parameters :-
1- random page cost
2- cpu tuple cost 3- cpu operator cost 4- cpu index tuple cost 5- effective cache size play as parameters in cost estimator equation i imagine that cost function is the same as f(x,y,z,....)=ax+by...... cost(cpu tuple cost,cpu operator cost,....) can any one help me to know the equation that cost estimator used it.. My regard Radhya,,,,
There's a quite nice description in the docs: http://www.postgresql.org/docs/9.0/interactive/row-estimation-examples.html and a some more details for indexes: http://www.postgresql.org/docs/9.0/interactive/index-cost-estimation.html A bit more info about how this is used is available in this presentation: http://momjian.us/main/writings/pgsql/internalpics.pdf But if you need more details, then I quess the best approach to get it is to read the sources (search for the cost estimation etc.). regards Tomas Dne 10.4.2011 20:22, Radhya sahal napsal(a): > Dear ,all > i would to ask you about how postgresql optimizer parameters :- > 1- random page cost > > 2- cpu tuple cost > > 3- cpu operator cost > > 4- cpu index tuple cost > > 5- effective cache size > > play as parameters in cost estimator equation > > i imagine that cost function is the same as > > f(x,y,z,....)=ax+by...... > > cost(cpu tuple cost,cpu operator cost,....) > > can any one help me to know the equation that cost estimator used it.. > > My regard > > Radhya,,,, > > >
On 04/10/2011 07:27 PM, Tomas Vondra wrote: > But if you need more details, then I quess the best approach to get it > is to read the sources (search for the cost estimation etc.). > There's a small fully worked out example of this in my book too, where I duplicate the optimizer's EXPLAIN cost computations for a simple query. The main subtle thing most people don't appreciate fully is how much the optimizer takes into account two things: the selectivity of operators, and the expected size of the data being moved around. For example, a lot of the confusion around "why didn't it use my index?" comes from not noticing the size of the index involved, and therefore how expensive its page cost is considered to be. -- Greg Smith 2ndQuadrant US greg@2ndQuadrant.com Baltimore, MD PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.us "PostgreSQL 9.0 High Performance": http://www.2ndQuadrant.com/books