Честно говоря, из кода не очевидно, что данные грузятся именно из БД.
Но в любом случае стоит подумать о том, что все данные пользователь просмотреть не сможет, а следовательно стоит ли грузить все ?

Можно подумать про virtual listview - в котором данные будут подгружаться по мере их отображения - но это уже много программирования. Если сама задача невелика, то не стоит и связываться.