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

    [MySql] Come posso ottimizzare queste 2 query? Help me...se no mi bocciano :-(

    Ciao,
    stò portando avanti il progettone per un esame e devo ottimizzare al massimo alcune query SQL...come già mi è stato spiegato ci pensa l'ottimizzatore di query di MySql ma non si sa bene per quale motivo la proff come requisito fondamentale del progetto vuole che gliele portiamo anche in forma ottimizata...mi sò impiccando un po' a tentare di ottimizzare alcune query...mi date qualche idea per favore?

    Le tabelle da usare e la relativa struttura sono le seguenti:

    codice:
    TABELLA COMMENTO:
    mysql> describe COMMENTO;
    +--------------------+-------------+------+-----+---------+----------------+
    | Field              | Type        | Null | Key | Default | Extra          |
    +--------------------+-------------+------+-----+---------+----------------+
    | Id_Commento        | int(11)     | NO   | PRI | NULL    | auto_increment |
    | Commentatore       | varchar(20) | NO   | MUL | NULL    |                |
    | Oggetto_Commentato | int(11)     | NO   | MUL | NULL    |                |
    | Data               | datetime    | NO   |     | NULL    |                |
    | Titolo             | varchar(30) | NO   |     | NULL    |                |
    | Commento           | text        | NO   |     | NULL    |                |
    +--------------------+-------------+------+-----+---------+----------------+
    
    TABELLA INSERZIONE:
    mysql> describe INSERZIONE;
    +-----------------+-----------------------+------+-----+---------+----------------+
    | Field           | Type                  | Null | Key | Default | Extra          |
    +-----------------+-----------------------+------+-----+---------+----------------+
    | Id_Oggetto      | int(11)               | NO   | PRI | NULL    | auto_increment |
    | Titolo          | varchar(60)           | NO   | MUL | NULL    |                |
    | Descrizione     | text                  | YES  |     | NULL    |                |
    | Costo_Base      | decimal(6,2)          | YES  |     | NULL    |                |
    | Compralo_Subito | decimal(6,2)          | YES  |     | NULL    |                |
    | Scadenza        | datetime              | YES  |     | NULL    |                |
    | Stato_Oggetto   | enum('nuovo','usato') | YES  |     | NULL    |                |
    | Id_Venditore    | varchar(20)           | NO   |     | NULL    |                |
    | Id_Categoria    | varchar(30)           | NO   |     | NULL    |                |
    +-----------------+-----------------------+------+-----+---------+----------------+
    9 rows in set (0.00 sec)
    E le query da ottimizzare sono le seguenti:

    codice:
    1) Visualizzare i commenti ricevuti da un certo oggetto ordinandoli in ordine ascendente rispetto al campo Commentatore*/
    
    SELECT COMB.Oggetto_Commentato,INSERZIONE.Titolo, COMB.Titolo,COMB.Commentatore, INSERZIONE.Scadenza
    FROM INSERZIONE, COMMENTO AS COMA, COMMENTO AS COMB
    WHERE INSERZIONE.ID_Oggetto = COMA.Oggetto_Commentato
    AND COMA.Id_Commento = COMB.Id_Commento
    ORDER BY INSERZIONE.Id_Oggetto DESC
    LIMIT 5;SELECT COMMENTO.Commentatore, COMMENTO.Titolo, COMMENTO.Commento
    FROM COMMENTO
    WHERE Oggetto_Commentato = 9
    ORDER BY COMMENTO.Commentatore asc;
    e

    codice:
    2) Visualizza i 5 ultimi oggetti inseriti nelle inserzioni che sono stati commentati e le relative informazioni dei 
          commenti */
    
    SELECT COMB.Oggetto_Commentato,INSERZIONE.Titolo, COMB.Titolo,COMB.Commentatore, INSERZIONE.Scadenza
    FROM INSERZIONE, COMMENTO AS COMA, COMMENTO AS COMB
    WHERE INSERZIONE.ID_Oggetto = COMA.Oggetto_Commentato
    AND COMA.Id_Commento = COMB.Id_Commento
    ORDER BY INSERZIONE.Id_Oggetto DESC
    LIMIT 5;
    Mi chiedevo se le query che usano gli ORDER BY e LIMIT possano essere implementate in maniera migliore...oppure se si può migliorare qualcosa con diversi tipi di join da questi quà....

    Per favore è importante...devo trovare il modo di ottimizzarle qualche altra query (oltre a quelle che ho già sistemato) altrimenti non posso consegnare il progetto.

    Grazie mille
    Andrea

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Titolo non a norma e crossposting (ricordo di aver già visto il thread anche su programmazione).

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.