Requetes SQL : solution la plus rapide ?
14 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
Requetes SQL : solution la plus rapide ?
Bonjour,
Voilà, j'ai un forum et certains topics commencent par le tag [actualite].
Je vais faire une requête pour afficher uniquement les topics qui commencent par ce tag.
Qu'est-ce qui est le plus rapide selon vous :
1) Faire un premier tri très rapide, seulement sur le premier caractère, en l'occurence "[" et puis ensuite trier dans le tableau obtenu les résultats qui correspondent, sachant que j'ai des tags [actualite] mais aussi [vidéos] etc... ?
2) Ou alors faire une requête un peu plus complexe qui ramène seulement les tuples qui commencent par le tag [actualite] ?
Voilà, j'ai un forum et certains topics commencent par le tag [actualite].
Je vais faire une requête pour afficher uniquement les topics qui commencent par ce tag.
Qu'est-ce qui est le plus rapide selon vous :
1) Faire un premier tri très rapide, seulement sur le premier caractère, en l'occurence "[" et puis ensuite trier dans le tableau obtenu les résultats qui correspondent, sachant que j'ai des tags [actualite] mais aussi [vidéos] etc... ?
2) Ou alors faire une requête un peu plus complexe qui ramène seulement les tuples qui commencent par le tag [actualite] ?
J'aurais utilisé dès le départ un champ dédié au tag, afin d'en permettre l'indexation
Autre solution : mettre à jour à interval régulier une seconde table, qui ne contiendrait que l'ID des topics en question.
Les "like" pour ma part je ne m'en sert que pour les recherches, surtout pas dans l'usage courant du site.
Après ça dépend du volume aussi, selon la taille du forum pas besoin de s'embêter et un like remplira parfaitement son rôle.
Autre solution : mettre à jour à interval régulier une seconde table, qui ne contiendrait que l'ID des topics en question.
Les "like" pour ma part je ne m'en sert que pour les recherches, surtout pas dans l'usage courant du site.
Après ça dépend du volume aussi, selon la taille du forum pas besoin de s'embêter et un like remplira parfaitement son rôle.
- Code: Tout sélectionner
J'aurais utilisé dès le départ un champ dédié au tag, afin d'en permettre l'indexation Very Happy
j'ai ai pensé, mais c'est un forum IPB, pas trop envie de mettre le nez dans leur code.
Autre solution : mettre à jour à interval régulier une seconde table, qui ne contiendrait que l'ID des topics en question.
Pas bête, mais pour l'affichage instantané des nouveaux topics, ça va pas être possible alors je crois.
Les "like" pour ma part je ne m'en sert que pour les recherches, surtout pas dans l'usage courant du site.
La requête avec like% comme le suggère YoyoS, elle s'arrête au premier caractère ? J'ai un doute idiot d'un coup.
Les "like" pour ma part je ne m'en sert que pour les recherches, surtout pas dans l'usage courant du site.
Pour l'instant il est vide
- mementosql
- Nouveau WRInaute
- Messages: 2
- Inscription: Ven Aoû 22, 2008 23:41
Bonjour,
Non. un like '%[tag]%' lui le fera, mais ne pourra plus utiliser l'index et sera donc beaucoup plus long.
Mais l'idéal est qd meme d'avoir ta colonne tag toute seule. Si tu peut pas modifier l'applicatif, un trigger dans la base peut faire l insertion : à chaque insert dans la table sujet, faire un insert dans ta colonne.
MS
Meeuuuhhh a écrit:Ce que je voulais dire, c'est est-ce que ça va pas me sélectionner les .................[category].... aussi ?
Même si le cas ne se produit jamais, la question théorique reste posée.
Non. un like '%[tag]%' lui le fera, mais ne pourra plus utiliser l'index et sera donc beaucoup plus long.
Mais l'idéal est qd meme d'avoir ta colonne tag toute seule. Si tu peut pas modifier l'applicatif, un trigger dans la base peut faire l insertion : à chaque insert dans la table sujet, faire un insert dans ta colonne.
MS
En français on dit "déclencheur"
Un déclancheur, comme son nom l'indique, permet de déclancher une opération lorsqu'un événement se produit sur une table
Edité (correction de l'orthographe)
Tu as le droit de me donner 10 coups de fouets
Un déclancheur, comme son nom l'indique, permet de déclancher une opération lorsqu'un événement se produit sur une table
Edité (correction de l'orthographe)
Meeuuuhhh a écrit:Eh peut-être même que l'on dit déclencheur![]()
Tu as le droit de me donner 10 coups de fouets
Dernière édition par fandecine le Dim Aoû 24, 2008 14:57, édité 3 fois.
Oui c'est dans la base de données, et c'est tout l'intérêt : comme l'a indiqué mementosql cela évite d'avoir à modifier l'application.
En gros tu indiques à MySQL d'exécuter un traitement particulier à chaque insertion/suppression/modification dans la table en question.
En gros tu indiques à MySQL d'exécuter un traitement particulier à chaque insertion/suppression/modification dans la table en question.
euh non, très peu probable que ça arrive un jour dans phpmyadmin : http://dev.mysql.com/doc/refman/5.0/en/ ... igger.html
14 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Nuage de tags Wordle pour WebRankInfo
- Nombre moyen de mots par requête : statistiques AOL Août 2006
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Google Chrome : nouvelle version beta plus rapide
- Contrer une redirection 302 intempestive...
- Utiliser Actifpub pour l'intégration d'un flux RSS externe sur son site
- Description des liens sponsorisés Google AdWords
- Intégrer facilement un flux RSS externe
- Tutorial Google Maps API
- Le marketing viral au service du référencement
- requêtes sql
- Pb requètes SQL
- 3 requêtes SQL en une
- [PHP/SQL] Quel est le plus rapide pour compter les rangées ?
- Réduire le nombre de requêtes sql
- Execution de requetes SQL via Ajax
- Benchmark de ses requetes SQL
- Nombre de requetes sql et hebergement ?
- Problème de liens / requêtes SQL
- Réunir 8 requetes sql en une seule
- Requetes SQL sur serveur distant
- Faire 2 requetes sql en une seule
- MySQL : optimisation des requêtes sql
- Complètement perdut dans des requètes sql !
- Comment PHPBB sécurise les requêtes SQL ?
Consultez la description détaillée des produits ou services de Google suivants : Google Trends Recherche Personnalisée
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum