par
Zahnzao » 10 oct. 2011, 16:22
Bonjour,
j'aurai juste quelques petites questions, niveau optimisation.
Pour résumer j'ai 3 tables:
elements
categories
tags
Un élément peut contenir une seule catégorie mais plusieurs tags.
Voici comment j'ai procédé:
Toutes mes pages sans exceptions utilisent mes 3 tables. Donc pour économiser des requêtes j'initialise 3 tableaux en début de script qui contiennent l'intégralité de mes 3 tables. Ensuite j'effectue mes tests sur ces tableaux. Par exemple si je veux récupérer une seule ligne d'une de mes table je dois "foreach" le tableau alors qu'une requête supplémentaire me sort le même résultat.
Première question: Est-ce plus optimisé comme cela ou la requête est mieux ?
Ensuite, j'utilise la fonction serialize() pour insérer les résultats de mes checkbox (issus de ma table tags) dans ma table 'éléments'. Avec mon système actuel, pour tester la présence de tags dans ma table éléments, je dois faire un double foreach sur mes tableaux elements et tags afin de tester chaque ligne.
Deuxieme question: Même affaire, c'est mieux comme ça ou une simple requête avec like est plus optimisée ?
J'avais voulu bien faire en optimisant les requête, mais je me demande si au final, il ne vaut pas mieux faire quelques requêtes supplémentaires...
Merci.
Bonjour,
j'aurai juste quelques petites questions, niveau optimisation.
Pour résumer j'ai 3 tables:
elements
categories
tags
Un élément peut contenir une seule catégorie mais plusieurs tags.
Voici comment j'ai procédé:
Toutes mes pages sans exceptions utilisent mes 3 tables. Donc pour économiser des requêtes j'initialise 3 tableaux en début de script qui contiennent l'intégralité de mes 3 tables. Ensuite j'effectue mes tests sur ces tableaux. Par exemple si je veux récupérer une seule ligne d'une de mes table je dois "foreach" le tableau alors qu'une requête supplémentaire me sort le même résultat.
Première question: Est-ce plus optimisé comme cela ou la requête est mieux ?
Ensuite, j'utilise la fonction serialize() pour insérer les résultats de mes checkbox (issus de ma table tags) dans ma table 'éléments'. Avec mon système actuel, pour tester la présence de tags dans ma table éléments, je dois faire un double foreach sur mes tableaux elements et tags afin de tester chaque ligne.
Deuxieme question: Même affaire, c'est mieux comme ça ou une simple requête avec like est plus optimisée ?
J'avais voulu bien faire en optimisant les requête, mais je me demande si au final, il ne vaut pas mieux faire quelques requêtes supplémentaires...
Merci.