FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Hola.
Gracias a todos. Habéis acertado con la solución al 100%. Me puse a fraccionar e investigar la SQL con detalle hasta que di con el problema. El join con artifabr era la causa del problema. Esta table tiene un clave primaria por cod_articulo y cod_fabricante, pero adicionalmente tiene una clave referencia en cod_fabricante a la tabla de FABRICANTES. El problema es que el plan que utiliza firebird toma como índice de búsqueda para artifabr la clave referencial por fabricante, en lugar de tomar la clave primaria con artículo y fabricante PLAN ... ARTIFABR INDEX (FK_ARTFAB_FABRIC) y aunque yo le indico que tome ARTIFABR INDEX (PK_ARTIFABR), no lo hace y da error ( ahora que me doy cuenta puse mal el plan que sale en el post inicial). Al cambiar la consulta a left joins, ahora si está tomando el índice correcto y la consulta ha pasado de tardar 352 segundos a tardar 16 milisegundos (si lo he escrito bien de 5 minutos a menos de un 1 segundo). Increible pero cierto... De todas formas, con independencia de la consulta SQL. Lo que sigo sin entender es por qué Firebird pone la CPU al 100% y deja a los demás equipos tirados. ¿No debería compartir la carga de trabajo con los otros equipos y simplemente hacer que tarde un poco más la consulta lenta? Gracias por la magnifica ayuda prestada por todos. |
#2
|
||||
|
||||
Cita:
|
#3
|
||||
|
||||
Resp
Primero te recoiendo que uses la version clsi server ya que la superserver en linux segun mi punto de vista le estas poniendo hacer un trbajo que de por si el sitem aoperativo lo hace solo que es manear los hilos. y segundo deberias por lo menos decirnos las estructuras de las tablas. Quisas te falte algun indice o algo por estilo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#4
|
|||
|
|||
Hola. Gracias por las respuestas.
La verdad es que la decisión de instalar una u otra versión se basa en esta documentación: http://www.firebirdsql.org/manual/es/qsg15-es-classic-or-super.html Para linux, dice que da igual cual elija que no habrá diferencia de rendimiento, así que opté por la solución que parece ser la que se va a desarrollar, o sea la superserver. De todas formas haré lo que decís y lo pasaré a la versión classic server a ver si así va mejor. Un saludo. |
#5
|
||||
|
||||
Cierto, pero la experiencia dice que no es así, instala la classic, verás la diferencia.
Y si el servidor tiene más de un micro o es dual, entonces notarás una diferencia muy muy significativa. |
#6
|
|||
|
|||
Hola.
En el caso de un servidor monoprocesador, ¿crees que también se notará mucho el rendimiento? Supongo que en ese caso seguirá prácticamente igual ¿no?. De todas formas gracias de nuevo a todos por la ayuda. |
#7
|
||||
|
||||
Al menos ganarás en esto, puede que sí notes la diferencia.
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
PHP-Barcode en un servidor Linux | maro | PHP | 7 | 07-11-2007 20:01:54 |
intraweb y servidor linux | jgutti | Internet | 3 | 25-04-2005 23:09:38 |
Servidor de Correo en Linux | COCOL | Linux | 1 | 22-04-2005 16:13:33 |
Como hacer un shares en un Servidos Linux para que otro Servidor Linux .... | FernandoFAI | Linux | 0 | 15-04-2004 09:33:07 |
Servidor Unix Linux | Omar Alejandro | Varios | 1 | 25-09-2003 04:13:45 |
|