Чтение данных HTML из базы данных происходит медленно? Нужен лучший подход? - PullRequest
1 голос
/ 10 марта 2010

У нас есть таблица в mysql объемом 18 ГБ, в которой есть столбец «html_view», в котором хранятся исходные данные HTML, которые мы отображаем на странице, но теперь требуется слишком много времени для извлечения данных html из столбца «html_view», который замедление загрузки страницы.

Нам нужен подход, который может упростить нашу существующую структуру для быстрой загрузки html-данных из БД или любым другим способом.

Одной из идей, которую мы планируем, является сохранение данных HTML в файлах .txt, а в db мы просто сохраняем путь к файлу txt и извлекаем данные из этого конкретного файла, читая файл. Но мы опасаемся, что это приведет к значительным операциям чтения и записи на нашем сервере и может привести к замедлению работы сервера.

Есть ли лучший способ сделать ситуацию быстрее?

Ответы [ 2 ]

2 голосов
/ 10 марта 2010

Прежде всего, зачем хранить HTML в базе данных? Почему бы не сделать это по требованию?

Для больших текстовых таблиц вы можете хранить сжатый текст в байтовом массиве или сжатый и закодированный в base64 как обычный текст.

Когда у вас есть массив с большим текстовым столбцом, сколько других столбцов у таблицы? Если их не слишком много, вы можете разбить таблицу и создать хранилище ключей-значений из двух столбцов. Это должно быть быстрее и проще, чем чтение файлов с диска.

1 голос
/ 10 марта 2010

Ознакомьтесь с Руководством по кэшированию Apache .
Это объясняет кэширование диска и памяти - из моего pov, если содержимое статично (как указывает таблица данных), вы должны использовать возможности Apache вместо того, чтобы писать свои собственные более медленные механизмы, потому что вы добавляете несколько слоев сверху.
Обычная мера вместо оценки все еще применяется, хотя; -).

...