Algo de bases de datos en Linux...

Juan Martínez jeugenio en umcervantes.cl
Mar Jul 31 15:35:55 CLT 2007


Alvaro Herrera escribió:
> Ricardo Mun~oz A. escribió:
>> Ernesto Esteban del Campo Cárcamo wrote:
>>> Debo dar mi experiencia.
>>>
>>> Tenia un sistema de Ordenes de trabajo en MySQL con tablas en InnoDB y 
>>> MyISAM el cual luego un par de años y miles de registros comenzo a 
>>> volverse lento.
>>>
>>> Se migró a PostgreSQL y debido a que es RELACIONAL todo funcionó más 
>>> rápido.
>> en que aspecto es PostgreSQL mas "relacional" que MySQL?
> 
> Yo me pregunto lo mismo ...

Que es nativamente relacional. En MySQL es una _opcion_ usar 
relacionalidad, lo cual es consistente ya que nunca he visto que MySQL 
se autodenomine un RDBMS.

> Sin embargo hay una cosa que es cierta, y es que el optimizador de
> consultas de Postgres es mucho mas inteligente que el de MySQL. 

Entonces se puede deducir que los desarrolladores de PostgreSQL son mas 
inteligentes que los de MySQL ;-)

> Cuando
> tienes consultas que hacen mas de unos pocos joins, no es nada de
> sorprendente que Postgres las ejecute en menos de un segundo, mientras
> que en MySQL tardan muchisimo tiempo.

Si bien no lo he comprobado objetivamente, aca tengo tablas con algunos 
miles de registros en donde una vista los relaciona hasta con 
expresiones complejas, es decir, mas de una expresión( unidas por AND u 
OR en el ON del JOIN), y sí, a veces esas vistas devuelven otros miles 
de registros en menos el 75% de un segundo...

> En estos casos, en MySQL se
> sugiere usar modelos menos normalizados (lo vi en algun manual), o
> extraer datos en dos pasadas y luego hacer un pseudo-join en el codigo
> de la aplicacion.  Quizas por esto uno pueda decir que es "menos
> relacional", porque te obliga a que uses modelos menos limpios.

Exacto, o quizas casi nada relacional..

-- 
Juan Martinez G.                   Mac Iver # 370
Departamento de Informatica        4997900 - 4997934
Universidad Miguel de Cervantes    Santiago - Chile
http://download.bblug.usla.org.ar/netiquette.png


Más información sobre la lista de distribución Linux