Hello
Toujours dans la quête de l'amélioration de la vitesse de chargement et de la baisse de la charge serveur, j'ai un petit script PHP qui me pose problème. Le rôle de ce script est de générer des liens automatiques internes.
J'explique.
J'ai un texte que nous appellerons "Le Texte" (le terme de "Petit Parapluie" peut aussi être utilisé ou encore "Menthe Rouge"). Le Texte peut être court, ou long, ou pas très long, ou moyen, ou "oulala c'est trop long" ou encore "c'est déjà fini" ou "oh il a vraiment la taille idéale Le Texte". Bref, la taille change d'un Le Texte à l'autre. Et comme je dis toujours, c'est surtout l'intérêt du Le Texte qui compte et pas sa taille. Parce qu'il peut y avoir d'excellents Le Texte avec très peu de caractères.
De l'autre côté, j'ai un lexique que nous appellerons "Le Lexique". Le lexique comprend plus de 4.500 termes de plus de 4 caractères (en dessous c'est trop le bronx pour générer des liens).
Je lance une requete sur "Le Lexique" afin de récupérer la totalité des termes de plus de 4 caractères.
Ensuite dans une boucle, je fais un joli ereg_replace pour mettre en place les liens vers "Le Lexique" dans "Le Texte"... et là... ca rame
Alors le but est soit de revoir le script de fond en comble, soit de l'améliorer par quelques petites astuces. Y'a déjà une mise en cache. Ainsi cette moulinette ne tourne qu'une seule fois, pour le premier internaute qui voit Le Texte, souvent Google
Je viens de penser à une chose. La table contenant le lexique n'est indexée qu'au niveau de la clé. Y'aurait il à intégrer un index dans le champ Terme aussi ? Après vérif, c'est les ereg replace qui prennent du temps alors voilà à quoi ils ressemblent :
Alors si vous avez une tite piste
A bientôt
Toujours dans la quête de l'amélioration de la vitesse de chargement et de la baisse de la charge serveur, j'ai un petit script PHP qui me pose problème. Le rôle de ce script est de générer des liens automatiques internes.
J'explique.
J'ai un texte que nous appellerons "Le Texte" (le terme de "Petit Parapluie" peut aussi être utilisé ou encore "Menthe Rouge"). Le Texte peut être court, ou long, ou pas très long, ou moyen, ou "oulala c'est trop long" ou encore "c'est déjà fini" ou "oh il a vraiment la taille idéale Le Texte". Bref, la taille change d'un Le Texte à l'autre. Et comme je dis toujours, c'est surtout l'intérêt du Le Texte qui compte et pas sa taille. Parce qu'il peut y avoir d'excellents Le Texte avec très peu de caractères.
De l'autre côté, j'ai un lexique que nous appellerons "Le Lexique". Le lexique comprend plus de 4.500 termes de plus de 4 caractères (en dessous c'est trop le bronx pour générer des liens).
Je lance une requete sur "Le Lexique" afin de récupérer la totalité des termes de plus de 4 caractères.
Ensuite dans une boucle, je fais un joli ereg_replace pour mettre en place les liens vers "Le Lexique" dans "Le Texte"... et là... ca rame

Alors le but est soit de revoir le script de fond en comble, soit de l'améliorer par quelques petites astuces. Y'a déjà une mise en cache. Ainsi cette moulinette ne tourne qu'une seule fois, pour le premier internaute qui voit Le Texte, souvent Google

Je viens de penser à une chose. La table contenant le lexique n'est indexée qu'au niveau de la clé. Y'aurait il à intégrer un index dans le champ Terme aussi ? Après vérif, c'est les ereg replace qui prennent du temps alors voilà à quoi ils ressemblent :
Code:
$contenu = preg_replace('#(\s|\'|>|\t)('.$leTermeGloss.')(\s|\.|s|,)#i', "$1<a href='$urlGloss.php'>$2</a>$3", $contenu, 1);
Alors si vous avez une tite piste

A bientôt