You could use techniques found from these HowTos to get an idea on paging the data:
http://infopathdev.com/howto/tutorials/default.aspx?i=0bb37b4de44348408680a53a449f2353
http://infopathdev.com/howto/tutorials/default.aspx?i=3ed83f87f32a4b9699dfcd232cc4e602
It basically means that if you have, say 10000 rows in a database, you would only show one page at a time where each page has 100 rows displayed. The user could then press the "Next" and "Previous" buttons to scroll through the pages of data. Search functionality would also be a nice feature.
Matt Faus / Microsoft InfoPath MVPQdabra® Software / Streamline data gathering to turn process into knowledge