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