Ho rilevato un'applicazione web creata da qualcun altro. È un'applicazione piuttosto semplice che interroga TUTTI i record di un db e li visualizza in un elenco. Hanno anche fornito un modo per "filtrare" i dati. Quando l'utente inserisce i dati in una casella di testo "filtro per", tramite Ajax il sistema ricercherà il database per selezionare solo i record che iniziano con tali dati. in pratica fa un
"select * from widgets where name like '" + input_from_user + "'"
Ora siamo arrivati al punto in cui ci sono troppi record che vengono restituiti inizialmente e sto seguendo le seguenti decisioni di progettazione.
-
Il filtro funziona davvero bene? Significa, se lasciamo tutto come è e interrogare tutti i record, poiché l'utente sta filtrando i dati, perché devo riordinare il database? Dovrei solo "in qualche modo" usare i dati che ho già e filtrarli? Ad esempio, non potrei in qualche modo usare javascript / jquery per filtrare il lato client?
-
Se vogliamo introdurre una sorta di meccanismo di paging in cui l'istruzione SQL è a) ordinamento per un determinato campo, b) limitando i risultati ai successivi 100 record ordinati, ho ancora bisogno di un filtro? Io non la penso così È impaginato o filtrante nella mia mente, soprattutto se limito la quantità di dati che mostriamo alla volta a 5o -100 record (qualcosa di piccolo che si adatta a uno schermo).
Ecco cosa stavo pensando di fare (pseudocodice)
SELECT *
FROM MyTable
WHERE SomeColumn > LastValue
ORDER BY SomeColumn
LIMIT 100
Volevo buttarlo là fuori per vedere se qualcuno avesse commenti / suggerimenti / volesse dirmi che sono fuori di testa qui.
Grazie.