Ho una tabella che riceve centinaia di richieste al minuto. Il problema che sto avendo è che ho bisogno di un modo per selezionare solo le righe che sono state inserite negli ultimi 5 minuti. Sto provando questo:Seleziona righe meno di 5 minuti utilizzando DATE_SUB
SELECT count(id) as count, field1, field2
FROM table
WHERE timestamp > DATE_SUB(NOW(), INTERVAL 5 MINUTE)
ORDER BY timestamp DESC
Il mio problema è che restituisce 70k + risultati e conteggio. Non sono sicuro di cosa stia sbagliando, ma mi piacerebbe avere qualche aiuto su questo. Inoltre, se ci fosse un modo per raggrupparli per minuto per avere sembrare:
| count | field1 | field2 |
----------------------------
Mi piacerebbe l'aiuto e la direzione su questo, quindi per favore fatemi sapere i vostri pensieri.
Qual è il tipo di 'colonna timestamp'? – Tadeck
@tadeck è un datetime, farebbe la differenza? –
Fa una grande differenza, dato che alcune persone usano 'INT' per memorizzare i timestamp. Inoltre si differenzia dal tipo 'TIMESTAMP', perché' DATETIME' è trattato letteralmente e non si adatta al fuso orario. Questo potrebbe essere il problema: confronta il timestamp della voce inserita di recente con il risultato di "SELECT NOW();" e facci sapere i valori di entrambi. – Tadeck