Tem várias formas de resolver esse problema em diferentes níveis: Banco de dados, Front, Back, Redes. Da forma que você falou parece um lazy loading com infinite scroll, pode resolver o problema de certa forma, mas acredito que a paginação e a categorização também pode ser uma boa. Outra possibilidade é através de Cache com CDN.
Algumas bibliotecas possuem um outro método chamado virtual Scrolling presentes em frameworks como React e Vue. Depende do muito da arquitetura e contexto da sua aplicação, normalmente o lazy loading resolve de forma temporária