les 2
par contre faire une requete à chaque fois ce n'est pas l'idéal, il vaut mieux charger toute la liste puis filtrer en ram

si la liste est très grande, tu peux délayer le textchanged (ca se...