Ciao,
allora ho creato una vista ma è veramente lentissima: ci mette la bellezza di 4 minuti e 26 secondi
Praticamente ho 2 tabelle:
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 | |
+---------------+--------------------------------------+------+-----+---------+-------+
Le voglio mettere insieme per avere una tabella virtuale per tenere d'occhio la situazione feedback e per questo creo la seguente vista:
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;
e quando la eseguo ci mette un botto di tempo a darmi il risultato:
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)
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?)
TNX