Hello,
J'ai une requête qui est très longue, mais je ne pense pas qu'elle soit fausse:
DELETE FROM zones_images z_i, zones_textes z_t, zones_textes_images z_t_i, elements_pages e_p USING zones_images z_i, zones_textes z_t, zones_textes_images z_t_i, elements_pages e_p WHERE z_t_i.id=".$id_z_t_i." AND z_t.id=z_t_i.id_z_txt AND z_i.id IN (z_t_i.id_z_img_1,z_t_i.id_z_img_2,z_t_i.id_z_img_3,z_t_i.id_z_img_4) AND e_p.id_page=".$id_page." AND e_p.id_elmt=".$id_z_t_i." AND e_p.typ_elmt='z_txt&img'
J'effectue là une suppression dans trois tables, à l'aide d'une seule requête.
Mes principales questions sont:
- ma requête est-elle bonne ?
(des fois que j'ai homis que ce cas ne soit possible que dans certaines conditions)
- est-ce qu'il vaut mieux séparer la suppression dans plusieurs requêtes ?
(au niveau lecture il est certain que ce sera plus lisible, mais au niveau perf., ne vaut-il pas mieux tout regrouper pour limiter justement le nombre de demande...et n'en faire qu'une ?)
Voila.
Merci et si vous avez d'autres remarques je suis preneur.
Thierry
Partager