Ho una lista di circa 15000 articoli nel mio database, ognuno di essi ha un ID e un nome univoci. I nuovi articoli vengono aggiunti regolarmente ma in genere non più di dieci al giorno.
Il mio frontend utilizza un modulo con completamento automatico e questo completamento automatico si basa sul nome degli elementi sopra. Ciò significa che ogni volta che qualcuno colpisce una chiave, viene inviata una richiesta AJAX all'API della mia applicazione per ottenere un elenco aggiornato di elementi come risposta (JSON). 15000 non è un numero elevato, ma vedo l'impatto sulle prestazioni di questa funzione sull'applicazione a causa dell'uso eccessivo di questo modulo.
Al momento uso qualcosa del genere per trovare ciò che i miei utenti cercano ed è abbastanza buono il più delle volte: "... LIKE %search_query%"
(semplificato). Tuttavia, ci sono alcuni casi in cui un tipo di ricerca fuzzy potrebbe essere utile.
La mia domanda è: sarebbe una buona idea conservare tutti gli elementi in una serie di hash invece di interrogare il database ogni volta? E se sì, dove potrei mantenere tale variabile in un'applicazione Rails in modo che possa accedervi ogni volta che ne ho bisogno?