Снижение нагрузки сайта

Главные вкладки

Аватар пользователя Dimm Dimm 20 ноября 2007 в 9:56

Заметил, что основная информация ноды хранится в таблице node, а тизер в другой таблице node_revision.
А большинство материалов на сайте выводятся как тайтл+тизер.
Может написать патч или модуль чтобы тизер хранился вместе с тайтлом в таблице node - это уменьшит нагрузку на базу.
Как думаете, стоит с этим заморачиваться?

Комментарии

Аватар пользователя lexaural lexaural 20 ноября 2007 в 10:09

>тизер
Это версия или что?
Кстати а как удалить версии документов(нодов)? И вообще удалить эту функцию

PS Я вообще о том - нет? Если что сорри:-)

Аватар пользователя dm66 dm66 20 ноября 2007 в 10:37

В вопросе не разбирался но кмк не стоит этого делать. Уверен, что разработчики пошли на разделение по разным базам не спроста, на это наверняка есть какая то веская причина которая сейчас просто не очевидна.

Аватар пользователя axel axel 20 ноября 2007 в 11:01

К слову, в старых версиях движка так и было - тизеры и тело нодов лежали в той же таблице node. Потом для поддержки версий документов их вынесли в отдельную таблицу. Не стоит заморачиваться обратной "оптимизацией". Кроме выборок заголовка с тизером на сайте может встречаться немало блоков с выбором только списка заголовков нодов - в общем разные варианты могут быть. Поэтому логично выглядит нынешний путь - вынести всё что можно в отдельную таблицу ревизий и сохранить исходную таблицу node как можно более компактной. А для снижения нагрузки используется кеширование.

Аватар пользователя marazmus marazmus 20 ноября 2007 в 11:47

Также компактность "основной" таблицы node нужна для легкости расширения - к примеру, для написания модулей, которые расширяют типы материалов. В этом случае модуль отвечает только за дополнительные поля в таблице, с которой он работает "напрямую". А всю "черновую" работу берет на себя Друпал.

А с точки зрения БД "вытащить" тайтлы и тизеры из двух таблиц - дело одного дополнительного LEFT JOIN. Тут уже как настроен сервер БД и насколько хорошо построены индексы в таблицах. Т.е. для Друпала это один запрос, а не два.