Sto cercando di velocizzare alcune query SQL. La mia query SQL su impaginazione è come questo (3 ° pagina):Limite per FOUND_ROWS()?
SELECT
SQL_CALC_FOUND_ROWS book_id, book_title
FROM
books
LIMIT 40, 60
E quindi ottenere tutti contano risultato:
SELECT FOUND_ROWS();
Ma se il conteggio risultato è enorme (milioni di libri) poi FOUND_ROWS()
può preso molto tempo.
Il fatto è che non è necessario contare milioni di righe (libri) e la risposta "10000+" è sufficiente per l'utente abituale.
È possibile qualcosa di simile? Pseudocodice:
SELECT FOUND_ROWS(LIMIT 10000)
Se si ha accesso al conteggio delle righe tramite la libreria db wrapper per l'altro linguaggio di programmazione che lo utilizza (se ce n'è uno), la libreria restituisce il conteggio delle righe in una proprietà. Sarebbe bello anche uno schema di tabella (indicizzazione). – Drew
Il famigerato [articolo di Percona] (https://www.percona.com/blog/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/) – Drew
@Drew questo articolo ha quasi 10 anni, è ancora attuale? – krokodilko