Ya veo.. Asi que es mejor poner isolation level "REPEATABLE-READ". He mirado y dice que por las "lecturas fantasmas" no hay que preocuparse demasiado, que se pierde mucho rendimiento.
Si en el select que tengo, a la tabla MyISAM a la que se accede se actualiza/inserta/borra solo a través de un trigger, he visto que los triggers bloquean para lecturas consistentes. Pero como puedo hacer para hacer de las demás condiciones del select una transaccion (están en InnoDB), sin tener en cuenta la MyISAM?
Porque si lo he entendido bien, el trigger solo me permitira el bloqueo de la tabla de la ultima condicion, permitiendo la lectura consistente en esa tabla. Pero con las otras tablas del select no se como hacer. Daría problemas si meto dentro de una transacción una condición referida a una tabla que no es InnoDB?, mantendría la transacción para las demás?
Llevo horas buscando y no doy con ello. Aquí dejo el select que pretendo hacer
Muchas gracias!
Código MySQL:
Ver original
filecategories.fcatFileID
=filedescriptions.fileID
AND
count_downloadfiles.dmFileID
=filedescriptions.fileID
AND
filecategories.fcatCategoryID
=ANY (SELECT fcatCategoryID
FROM filecategories
WHERE filecategories.fcatFileID
=vFileID
) AND
files.fileID
=filedescriptions.fileID
AND