14/12/2008, 18:27
|
| | Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 10 meses Puntos: 13 | |
Respuesta: Consulta Indices en postgres una muestra practica:
Código:
pruebas=# create table personas(id serial primary key, nombre varchar, dni integer);
NOTICE: CREATE TABLE creará una secuencia implícita «personas_id_seq» para la columna serial «personas.id»
NOTICE: CREATE TABLE / PRIMARY KEY creará el índice implícito «personas_pkey» para la tabla «personas»
CREATE TABLE
pruebas=# insert into personas (nombre, dni) select 'nombre ' || foo, foo from generate_series(1,100000) foo;
INSERT 0 100000
pruebas=# EXPLAIN ANALYZE select * from personas where dni between 2500 AND 5000;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Seq Scan on personas (cost=0.00..2133.00 rows=2497 width=20) (actual time=1.425..74.737 rows=2501 loops=1)
Filter: ((dni >= 2500) AND (dni <= 5000))
Total runtime: 79.222 ms
(3 rows)
pruebas=# create index idx_dni on personas(dni);
CREATE INDEX
pruebas=# EXPLAIN ANALYZE select * from personas where dni between 2500 AND 5000;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------
Index Scan using idx_dni on personas (cost=0.00..93.20 rows=2497 width=20) (actual time=0.131..6.596 rows=2501 loops=1)
Index Cond: ((dni >= 2500) AND (dni <= 5000))
Total runtime: 10.985 ms
(3 rows)
Salu2 |