Я изучаю веб-ориентированное программирование, пишу себе блог, используя PHP с базой данных MySQL. Это должно заменить мой текущий (на основе Drupal) блог.
Я решил, что пост
должен содержать некоторые данные: id
, userID
, title
, content
, время публикации
. Это делает хорошую схему для таблицы базы данных. Однако у меня возникли проблемы с выбором способа организации хранения контента
.
Я мог бы:
content
будет URL-адресом локального файла, который я затем прочитаю, отформатирую и отобразлю. content
, т.е. помещать в базу данных. Если бы я выбрал (1), поиск по содержимому сообщений был бы немного проблематичным — я был бы ограничен поиском по метаданным или мне пришлось бы читать содержимое каждого файла при поиске (хотя я не знаете, какая это будет проблема - grep -ir "string" .
не слишком медленный...).Однако на изображения (если они есть) можно ссылаться по URL-адресу, поэтому ссылка на контент
будет, по крайней мере, внутренне согласованной методологией, и я смогу легко повторно использовать контент, поскольку с текстовыми файлами невероятно легко работать по сравнению с файлом базы данных SQL.
Однако при выборе (2) я мог бы использовать длинный текст
. Затем контент
необходимо будет очистить, прежде чем я попытаюсь поместить его в кортеж, и я ограничен размером (хотя маловероятно, что я напишу сообщение в блоге размером 4 ГБ;). Искать было бы легко.
Я (в настоящее время) не вижу, какой способ будет (а) проще реализовать, (б) с ним легче жить.
Куда мне идти/как это обычно делается? Любые дополнительные плюсы/минусы для (1) или (2) будут оценены.