https://club911.net/viewtopic.php?t=102255
SELECT tid, subject, icon FROM
(select tid, subject, icon from forum911net_threads ORDER BY lastpost DESC LIMIT 0, 50)
WHERE fid 71 AND fid 53 AND (fid < 110 OR fid > 128) AND fid 132 AND fid 136 AND fid IN(1,2,3,4,5,6,7,8,12,11,13,51,18,16,33,23,24,25,26,27,28,29,30,31,32,35,38,41,63,42,40,49,45,44,46,47,48,50,58,66,69,74,88,133,141,139,142) ORDER BY lastpost DESC LIMIT 0, 15;
Message original : Mascotte
whinpo, au vue de la requête ça ne m'étonnes pas du tout que ça rame, c'est super violent comme requête![]()
![]()
Grosso modo, sélectionner l'ensemble des posts dans tous les sous-forums non "protégés" (administratif, club, hors-sujets), pour _seulement ensuite_ les trier par date et ne garder que les 15 premiers, ça ne doit pas l'aider, que fid et le timestamp de post soit indexés ou non.
Une autre solution possible serait peut-être de sous-requêter ta table (une première pour récupérer les X threads dernièrement updatée, puis filtrage sur les forums id), qu'en penses-tu?
Je pensais à un truc du genre (à la syntaxe près, ou l'optim sur le filtrage des N premiers)
Code Tout sélectionnerSELECT tid, subject, icon FROM (select tid, subject, icon from forum911net_threads ORDER BY lastpost DESC LIMIT 0, 50) WHERE fid 71 AND fid 53 AND (fid < 110 OR fid > 128) AND fid 132 AND fid 136 AND fid IN(1,2,3,4,5,6,7,8,12,11,13,51,18,16,33,23,24,25,26,27,28,29,30,31,32,35,38,41,63,42,40,49,45,44,46,47,48,50,58,66,69,74,88,133,141,139,142) ORDER BY lastpost DESC LIMIT 0, 15;
Message original : steph42360
ptain j'étais en train d'écrire la même chose![]()
![]()
![]()
Message original : difparis
Mais qui te parle de matos!
Je te parle de solution avec un SGBD multi-instances réparti sur plusieurs noeuds...mais t'as raison il faut des experts![]()
Message original : difparis
Je te parle de solution avec un SGBD multi-instances réparti sur plusieurs noeuds..
Message original : Julien
Peut être qu'avec un intérieur vidé et un arceau dans le serveur, ça permettrai d'alléger la base de donnée et de renforcer le serveur![]()
![]()
![]()
Message original : tingail s'agit peut etre effectivement d'une piste mais tout dépend alors de ne pas trop avoir de noeuds à gererMessage original : difparis
Je te parle de solution avec un SGBD multi-instances réparti sur plusieurs noeuds..
Message original : steph42360ptain j'étais en train d'écrire la même choseMessage original : Mascotte
whinpo, au vue de la requête ça ne m'étonnes pas du tout que ça rame, c'est super violent comme requête![]()
![]()
Grosso modo, sélectionner l'ensemble des posts dans tous les sous-forums non "protégés" (administratif, club, hors-sujets), pour _seulement ensuite_ les trier par date et ne garder que les 15 premiers, ça ne doit pas l'aider, que fid et le timestamp de post soit indexés ou non.
Une autre solution possible serait peut-être de sous-requêter ta table (une première pour récupérer les X threads dernièrement updatée, puis filtrage sur les forums id), qu'en penses-tu?
Je pensais à un truc du genre (à la syntaxe près, ou l'optim sur le filtrage des N premiers)
Code Tout sélectionnerSELECT tid, subject, icon FROM (select tid, subject, icon from forum911net_threads ORDER BY lastpost DESC LIMIT 0, 50) WHERE fid 71 AND fid 53 AND (fid < 110 OR fid > 128) AND fid 132 AND fid 136 AND fid IN(1,2,3,4,5,6,7,8,12,11,13,51,18,16,33,23,24,25,26,27,28,29,30,31,32,35,38,41,63,42,40,49,45,44,46,47,48,50,58,66,69,74,88,133,141,139,142) ORDER BY lastpost DESC LIMIT 0, 15;
![]()
![]()
![]()
Message original : difparisUn juste équilibre en scale up et scale outMessage original : tingail s'agit peut etre effectivement d'une piste mais tout dépend alors de ne pas trop avoir de noeuds à gererMessage original : difparis
Je te parle de solution avec un SGBD multi-instances réparti sur plusieurs noeuds..![]()