Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Query unire due tabelle senza filesort

    Salve, ho due tabelle:
    NEWS e SOTTOCATEGORIE, un po' come il classico Wordpress. E poi una tabella di raccordo (NEWS_SOTTOCATEGORIE dove unisco l'ID_NEWS e l'ID_SOTTOCATEGORIA), in modo che posso avere più categorie per una news.

    Quando vado in una categoria, vado a pescare dalla tabella di raccordo, ma poi voglio ordinare per la data della notizia.

    Ovviamente mi crea un filesort che mi rallenta paurosamente la query, passando da 0.00073 a circa mezzo secondo (0.4524). Come posso fare?? La query è la seguente:

    codice:
    SELECT NEWS.ID_NEWS, NEWS.TITOLO
    FROM NEWS_SOTTOCATEGORIE
    INNER JOIN NEWS ON NEWS.ID_NEWS = NEWS_SOTTOCATEGORIE.ID_NEWS
    WHERE NEWS_SOTTOCATEGORIE.ID_SOTTOCATEGORIA = 1
    ORDER BY NEWS.TIMESTAMP DESC
    Come posso mettere gli indici? Come possible_keys mi suggerisce ID_NEWS, ID_SOTTOCATEGORIA ma non capisco come relazionare le due tabelle con un WHERE che punta su una e l'order by su un'altra....


  2. #2
    Premetto che ho messo gli indici ai vari ID ma non riesco a capire come fare un indice che raccordi e mi tolga il filesort.. Come fa wordpress? Scusate l'ignoranza

  3. #3
    Dopo grande ricerca dovrei aver risolto usando IGNORE INDEX(ID_SOTTOCATEGORIA), che evidentemente andava in conflitto visto che gli index ID_SOTTOCATEGORIA erano due...

  4. #4
    In realtà non sono sicuro che sia giusto, qualcuno ha idee...? Il filesort si leva ma non vorrei fosse una forzatura...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.