Ciao a tutti,
ho un dilemma sull'organizzazione e gestione di una tabella di LOG.
Spiego subito, ho una tabella in cui debbo loggare tutti i contatti che avvengono tra utenti, non i contenuti, ma solo l'avvenuto contatto.
Ora, succede che questa tabella ha circa 100.000 nuovi records al giorno e che attualmente ha un totale di 16mln di record.
Diciamo che la tabella sia questa
| TIME (datetime) | IDUSER1 | IDUSER2 | IP1 | IP2 |
e che abbia quindi i dati tipo:
2010-02-01 18:40:56 | 112 | 1923 | 192.168.0.1 | 127.0.0.1 |
Il mio problema è il seguente. Vorrei pubblicare gli ultimi 20 contatti avvenuti tra gli utenti ma la risposta della query supera i 16 secondi poichè per fare ciò è costretto cmq a scansionare tutta la tabella.
Sono indicizzati sia il TIME che gli IDUSERS, ma chiaramente ciò non è importante.
Cosa posso inventarmi in una situazione come questa per fare una query più leggera possibile???
Ho provato anche a fare dei between tra le date ma niente, comunque scansiona tutto.
![]()
![]()
![]()
Mi rimetto agli esperti![]()