Не хранить редактируемый HTML в базе данных
Серьезно, потому что затраты на обслуживание простых изменений становятся исчерпывающими, как только вы понимаете, что больше не можете просто открывать текстовый редактор.
Я работал над многими проектами, в которых содержался HTML-контент в базе данных, и это был постоянный кошмар "найти ту строку, в которой находится контент", и мне бы очень хотелось, чтобы выстрелил человек, который сделал Это.
Кроме того, НЕ ПРЕДВАРИТЕЛЬНО ОПТИМИЗИРУЕТ . Если вы обнаружили проблему, которая замедляет проект, то измените ее. Потому что делает код менее понятным, чтобы сэкономить миллисекунду. Но спроектируйте код достаточно хорошо, и если вам потребуется изменить источник контента, это будет легко сделать.
Конечно, это можно решить, если
подходящий веб-интерфейс для редактирования
шаблоны?
Хм, на самом деле нет, если только вы не пытаетесь конкурировать с блокнотом. Подсветка синтаксиса и все остальные функции, которые вы можете получить в стандартном редакторе, просто заставят ваших разработчиков совершить самоубийство, когда они обнаружат, что редактируют веб-страницы, взломав текстовую область небольшого размера с ужасным белым на черном (не говоря уже о том, что вы получаете дополнительное удовольствие например, попробуйте отредактировать html в текстовой области, где html-содержимое содержит элемент текстовой области!)
On FileIO
Несмотря на то, что File IO может быть узким местом, имейте в виду, что при правильной установке linux и большом количестве памяти действует удобная вещь, известная как «дисковый кэш», которая фактически, файлы сохраняются в памяти, поэтому файловый ввод-вывод становится просто memcpy.
Напротив, в реальных стресс-тестах для любого кода, который я использовал, самые большие замедления были в базе данных, в первую очередь - это хорошая медленная строка CONNECT, время анализа запроса, дополнительные взаимодействия php <-> mysql. Вы на самом деле не хотите ничего получить. Поиск в файловой системе близок к поиску по индексу базы данных, и у вас нет никаких неизвестных, кроме «вам нужно потоковое воспроизведение с диска», нет необходимости блокировать таблицы!
Возможно, вам стоит попробовать что-то вроде библиотеки кеширования, очень рекомендуется X-Cache, который, скорее всего, даст вам ощутимый прирост производительности.