Hello,

Je dispose d'une DB dans laquelle j'ai une table Obj qui contient les objets de ma base, une table Sel représentant une selection d'objets, et une ObjSel faisant l'association entre Sel et Obj

En gros:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Obj - Obj.obj_id
Sel - Sel.sel_id, Sel.sel_name
ObjSel - obj_id, sel_id
Dans mon appli cliente, je donne la possibilité de supprimer une selection, et en opton, de supprimer les objets associés a cette selection.

Mon problème est simple: l'execution d'une telle requête prends un temps vraiment très important dans ma base qui actuellement contient plus de 4 millions d'objets.

La requête que j'utilise est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
DELETE FROM Obj WHERE obj_id IN (SELECT obj_id from ObjSel where sel_id=13)
Y'a t-il un moyen d'optimiser un DELETE de ce type? J'avais le même genre de problème de perf avec les selects que j'ai réglé par des jointures, mais pour les delete je ne trouve pas encore de solution...

Merci d'avance...

PS: je précise: mes tables sont en myisam