Erm so you have a table (or some tables) about 2,500 rows long and 11 fields wide and you want to dump the whole table with formatting? It does seem a little weird to me that you want to format that amount of data.
When you say you were formatting with tables I assume you just did a little
while ($row = mysql_fetch_array) {
print ('<tr>');
foreach($row as $field)
print('<td>'.$field.'</td>');
print ('</tr>');
}
And that was super slow to load? There's also the consideration that the browser is going to take a long time to handle any formatting on that text that you do.
If its just the extraction of the data and the adding of the formatting characters that being the problem (eg you're doing something similar to what I put), then you should consider having a script run periodically that writes the table(s) to a file(s) and when the browser requests that page, just include the file.
For formatted text, I imagine that you want people to read it and that much data on a page tends to be a bit more then is usable. If you break you results into several pages then it goes a lot faster. For mysql you can use 'LIMIT 0, 100' in your query to sepecify a starting offset (0 in this case) and a number of rows to read (100 here). Needless to say, 100 rows with be read and displayed much faster.