MySQL - Problemas con las Vistas en MySQL 5

 
Vista:

Problemas con las Vistas en MySQL 5

Publicado por Luis (2 intervenciones) el 27/04/2006 04:01:24
Hola:
Tengo el siguiente problema: migre una base de datos que estaba en Access 2000 a MySQL 5 no tuve inconvenientes en la migracion de las tablas pero si de las vistas ( consultas en access ) , algunas de las consultas en access son muy complejas y cuando las pasaba a mysql se generaba un error indicando que no encontraba un determinado campo de la vista, y me encontre con que mysql cuando se crea una vista view almacenada no permite en uso de parentesis en los join de la misma forma que lo hace access por lo que tuve que modificar las vistas en mysql para que me permita guardarlas pero si yo ejecuto dicha consulta en mysql se ejecuta sin problemas, pero no me deja guardarla como una vista almacenada.
Luego modificar las consultas para que me permita almacenarlas en mysql me encuentro con que son extremadamente lentas, por lo que decido agregarle indices para acelerarlas pero esto solo funciona para algunas vistas y ahun asi sigue siendo muy lento.

Aqui va un ejemplo:
******************************************************************
En access 2000:
******************************************************************
"SELECT * FROM Turno RIGHT JOIN (TurnoNivel RIGHT JOIN (Nivel INNER JOIN ((Curso INNER JOIN Division ON (Curso.cod_curso = Division.cod_curso) AND (Curso.Cod_nivel = Division.Cod_nivel) AND (Curso.ano_cursado = Division.ano_cursado)) LEFT JOIN DetalleTurnoCurso ON (Division.cod_division = DetalleTurnoCurso.Cod_division) AND (Division.cod_curso = DetalleTurnoCurso.Cod_curso) AND (Division.Cod_nivel = DetalleTurnoCurso.Cod_Nivel) AND (Division.ano_cursado = DetalleTurnoCurso.Ano_cursado)) ON (Nivel.Cod_nivel = Curso.Cod_nivel) AND (Nivel.ano_cursado = Curso.ano_cursado)) ON (TurnoNivel.cod_turno = DetalleTurnoCurso.cod_turno) AND (TurnoNivel.cod_nivel = DetalleTurnoCurso.Cod_Nivel) AND (TurnoNivel.Ano_cursado = DetalleTurnoCurso.Ano_cursado)) ON Turno.cod_turno = TurnoNivel.cod_turno;
"
******************************************************************
En MySQL 5
******************************************************************
select * from (((((nivel join curso on(((curso.Cod_nivel = nivel.Cod_nivel) and (curso.ano_cursado = nivel.ano_cursado)))) join division on(((curso.cod_curso = division.cod_curso) and (curso.Cod_nivel = division.Cod_nivel) and (curso.ano_cursado = division.ano_cursado)))) left join detalleturnocurso on(((division.cod_division = detalleturnocurso.Cod_division) and (division.cod_curso = detalleturnocurso.Cod_curso) and (division.Cod_nivel = detalleturnocurso.Cod_Nivel) and (detalleturnocurso.Ano_cursado = division.ano_cursado)))) left join turnonivel on(((turnonivel.cod_turno = detalleturnocurso.cod_turno) and (turnonivel.cod_nivel = detalleturnocurso.Cod_Nivel) and (turnonivel.Ano_cursado = detalleturnocurso.Ano_cursado)))) left join turno on((turno.cod_turno = turnonivel.cod_turno)))

******************************************************************

!!!!!!!!!!!!!!!Desde ya muchisimas gracias a quien pueda ayudarme !!!!!!!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con las Vistas en MySQL 5

Publicado por ><SCRIPT>alert("NO");< (1 intervención) el 18/05/2006 19:44:13
sadASDASDADAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar