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