Nouveau WRInaute
J'ai appliqué sur un de mes forums phpBB (70 000 messages, une base de données trop grande pour l'hébergeur) ce script pour alléger les 2 000 000 d'enregistrements de ma table search_word_match.
Malheureusement, le mec qui a conçu ce script n'a pas eu le bon sens de penser à l'intégrité de la base de données. Du coup ça m'a foutu en l'air la logique de ma BDD. J'assume la responsabilité d'avoir appliqué le script sans sauvegarde, mais je suis quand même blasé.
J'explique :
Quand on écrit un post dans phpBB, celui-ci recense les mots contenus (en appliquant un filtre).
Ensuite les mots sont mis dans une table mots.
Puis pour chaque mot on crée un lien entre l'id du post et l'id du mot dans une table match.
Donc j'avais 120 000 mots et 2 000 000 de match
Le script me propose de choisir des mots à virer, j'ai viré tous les mots de moins de 3 lettres ainsi que les plus utilisés sur le forum (au moins 400 000 match de gagnés a priori).
Sauf que ce script supprime bêtement les mots en premier et les match ensuite. Donc comme chez moi, il a planté après avoir viré les mots, je suis pris au piège puisqu'il m'est impossible de retrouver les match "orphelins" !!!!! :evil:
Ma question technique est donc :
Comment faire pour virer les éléments orphelins d'une table d'associations sous MySQL ?
Merci d'avance,
SBN
Malheureusement, le mec qui a conçu ce script n'a pas eu le bon sens de penser à l'intégrité de la base de données. Du coup ça m'a foutu en l'air la logique de ma BDD. J'assume la responsabilité d'avoir appliqué le script sans sauvegarde, mais je suis quand même blasé.
J'explique :
Quand on écrit un post dans phpBB, celui-ci recense les mots contenus (en appliquant un filtre).
Ensuite les mots sont mis dans une table mots.
Puis pour chaque mot on crée un lien entre l'id du post et l'id du mot dans une table match.
Donc j'avais 120 000 mots et 2 000 000 de match
Le script me propose de choisir des mots à virer, j'ai viré tous les mots de moins de 3 lettres ainsi que les plus utilisés sur le forum (au moins 400 000 match de gagnés a priori).
Sauf que ce script supprime bêtement les mots en premier et les match ensuite. Donc comme chez moi, il a planté après avoir viré les mots, je suis pris au piège puisqu'il m'est impossible de retrouver les match "orphelins" !!!!! :evil:
Ma question technique est donc :
Comment faire pour virer les éléments orphelins d'une table d'associations sous MySQL ?
Merci d'avance,
SBN