Re: Distintos planes de ejecución

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: "Alejandro D(dot) Burne" <alejandro(dot)dburne(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Distintos planes de ejecución
Date: 2007-01-30 16:20:38
Message-ID: 20070130162037.GG2303@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alejandro D. Burne escribió:
> 2007/1/30, Alejandro D. Burne <alejandro(dot)dburne(at)gmail(dot)com>:
> >El 30/01/07, Alvaro Herrera<alvherre(at)commandprompt(dot)com> escribió:

> >> > Me llama la atención cómo la primera arma la condición de filtro y
> >> > permite utilizar el índice respecto de la segunda, alguna pista?
> >>
> >> Lo mas probable es que en 8.1 tengas locale=C y en 8.2 tengas otro. O
> >> bien que el indice en 8.1 sea varchar_pattern_ops y el de 8.2 no lo sea.
> >>
> >> En cualquier caso, probablemente la mejor solucion sea crear un indice
> >> con varchar_pattern_ops en el servidor con 8.2.

> Estaba pensando cuál sería la razón por la cual en el dump de la base
> de datos se pierde esa directiva

Buena pregunta ... cual pg_dump usaste, el de 8.1 o el de 8.2? Como lo
invocaste?

Aca estoy haciendo una prueba con las versiones de pg_dump 8.0, 8.1 y
8.2, y todas arrojan el varchar_pattern_ops (todos contra un servidor
8.2)

> y por otro lado que no esté
> documentado en la sentencia create index
> http://www.postgresql.org/docs/8.2/interactive/sql-createindex.html

Esta un poco escondido, pero esta. Mira bajo "Notes", aqui:

An operator class can be specified for each column of an index.
The operator class identifies the operators to be used by the
index for that column. For example, a B-tree index on four-byte
integers would use the int4_ops class; this operator class
includes comparison functions for four-byte integers. In
practice the default operator class for the column's data type
is usually sufficient. The main point of having operator classes
is that for some data types, there could be more than one
meaningful ordering. For example, we might want to sort a
complex-number data type either by absolute value or by real
part. We could do this by defining two operator classes for the
data type and then selecting the proper class when making an
index. More information about operator classes is in Section
11.8 and in Section 33.14.

(11.8 es Operator Classes, donde se menciona este tema)

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2007-01-30 16:20:48 Re: modelo cliente - servidor en postgresql
Previous Message Jonathan ....nem4 2007-01-30 16:15:12 postgres+postgis