Ciao,
allora ho creato una vista ma è veramente lentissima: ci mette la bellezza di 4 minuti e 26 secondi![]()
Praticamente ho 2 tabelle:
Le voglio mettere insieme per avere una tabella virtuale per tenere d'occhio la situazione feedback e per questo creo la seguente vista:codice:mysql> describe FEEDBACKVENDITORE; +---------------+--------------------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------------------------------+------+-----+---------+-------+ | Id_Oggetto | int(11) | NO | PRI | NULL | | | Id_Venditore | varchar(20) | NO | | NULL | | | Id_Acquirente | varchar(20) | NO | | NULL | | | Feedback | enum('Positivo','Neutro','Negativo') | NO | | NULL | | | Commento | varchar(255) | YES | | NULL | | +---------------+--------------------------------------+------+-----+---------+-------+ mysql> describe FEEDBACKACQUIRENTE; +---------------+--------------------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------------------------------+------+-----+---------+-------+ | Id_Oggetto | int(11) | NO | PRI | NULL | | | Id_Acquirente | varchar(20) | NO | | NULL | | | Id_Venditore | varchar(20) | NO | | NULL | | | Feedback | enum('Positivo','Neutro','Negativo') | NO | | NULL | | | Commento | varchar(255) | YES | | NULL | | +---------------+--------------------------------------+------+-----+---------+-------+
e quando la eseguo ci mette un botto di tempo a darmi il risultato:codice:CREATE VIEW FeedbackRilasciati AS SELECT feedbackVenditore.Id_Venditore, feedbackAcquirente.Id_Acquirente, feedbackVenditore.commento AS commentovenditore, feedbackAcquirente.commento AS commentoacquirente, feedbackVenditore.Id_Oggetto FROM feedbackvenditore JOIN feedbackacquirente ON feedbackvenditore.Id_Oggetto = feedbackacquirente.Id_Oggetto GROUP BY Id_Oggetto;
La cosa che rallenta molto è l'ORDER BY perchè deve ordinare ed è un'operazione pesantina...avete qualche idea per ottimizzarla e migliorarne le prestazioni senza dover togliere l'ORDER BY (magari qualche indice? oppure cambiare la forma o l'algoritmo della vista?)codice:mysql> select * from FeedbackRilasciati limit 5; +---------------+------------------+--------------------------------+--------------------------------+------------+ | Id_Venditore | Id_Acquirente | commentovenditore | commentoacquirente | Id_Oggetto | +---------------+------------------+--------------------------------+--------------------------------+------------+ | .[| | Io49RMBK0hTDziO? | COMME1TO KS5Z21 1VF7AN I3P6G57 | COMME8TO CQ1U8G 71I7J7C X5Y0K1 | 1 | | <4d8 | .CCl-_t6)tT'"X | COMME6TO YG7C17 3WT4BM F7Y6V63 | COMME5TO FB4G8R 76T8R1P Q1R2R5 | 2 | | rJ<pS"t | nTc | COMME3TO YA4F11 4GU8KA D2I0K72 | COMME8TO QJ5C6Z 36R3O7Y R7I2G0 | 3 | | cB%:MA YA7`mA | $=gkeQ+o#d|[Q|[7 | COMME5TO LQ2K70 1ZK2NI O0O0V21 | COMME5TO AN6H0O 10F5D9C S6F9J3 | 4 | | ` | `:' | COMME3TO TO3P50 2IV9HM J9T5Q44 | COMME1TO LD0J0C 82Q4U8W K8D9P6 | 5 | +---------------+------------------+--------------------------------+--------------------------------+------------+ 5 rows in set (4 min 26.79 sec)
TNX

Rispondi quotando