Ваш дизайн звучит некорректно. Зачем вам нужно извлечь всю таблицу в память? Вместо этого пролистайте страницу - работайте с таблицей небольшими партиями - скажем, 1000 записей за раз.
Тебе, вероятно, даже не нужно этого делать. Как правило, приложения баз данных работают только с данными, которые меняются. Если вашему приложению нужно изменить 10 строк, извлеките только эти десять строк. Вы сэкономите не только память, но и все время, необходимое для извлечения и публикации этих данных.
3000 столбцов в таблице? Это также пахнет (действительно) плохо. Посмотрите нормализует вашу базу данных.
Я знаю, что легче решить проблему и двигаться дальше. Однако в долгосрочной перспективе у вас будет намного меньше проблем, если вы исправите (откровенно довольно серьезные) проблемы проектирования заранее.