Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Какой вариант кода больше нагружает сервер?

Какой вариант кода больше нагружает сервер?


     12.08.2018    нагрузка на бд, Оптимизация запросов    Все вопросы » Общие вопросы по вёрстке    967

вопрос
1. Вариант.
Есть доп поле, Тип поля: Чистый HTML или JS код.
В него заношу код с ссылками на другие новости:

<a href="/category/2386.html">Название: #1</a>
<a href="/category/2387.html">Название: #2</a>
<a href="/category/2388.html">Название: #3</a>
<a href="/category/2389.html">Название: #4</a>

И так далее, код может доходить до 700 ссылок.
В полной новости вывожу этот код через доп поле [xfvalue_links]

2. Вариант.
Сейчас хочу переделать эту конструкцию на вывод ссылок через Тег {custom}.
Вот так:

{custom id="[xfvalue_links]" category="2" template="custom"  order="id_as_list" sort="desc" cache="yes"}

В доп поле [xfvalue_links] уже буду заносить не html код ссылок, а айдишки(id) новостей, вот так 1,2,5-8.
И так далее, может доходить до 700 id, например id 1-700.

При переходе на второй вариант нагрузка на сервер сильно возрастёт?
Как я понимаю при первом варианте у меня только один запрос к БД идёт, это запрос к доп полю.
А при втором варианте, это будет запрос в БД к доп полю и + одно обращение к custom, да? Или ещё больше запросов будет?

Ответил: Sander


При первом варианте дополнительных запросов не делается и никакой реальной нагрузки нету.
При втором варианте нельзя сказать, что не увеличится, но если увеличится на 0.001 - 0.01 сек не думаю что вы это особо ощутите.

Лично я бы рекомендовал использовать второй вариант.

PS. При использовании custom добавится ровно один запрос, в табилицу dle_post+dle_post_extras. Все данные полей хранятся в поле таблицы dle_post.xfields
Таблица dle_xfsearch используется только для страниц поиска по доп.полям: /xfsearch/имяПоля/значение

3 комментария

Bashmak
Юзер

Bashmak - 12 августа 2018 12:42 -

PS. При использовании custom добавится ровно один запрос, в табилицу dle_post+dle_post_extras. Все данные полей хранятся в поле таблицы dle_post.xfields

Т.е. не имеет значение какое количество id новостей будет указано в custom? 100, 200, 300 id, всегда будет один запрос? Верно?

Sander
PHP-developer

Sander - 12 августа 2018 13:42 -

Хм, этот момент что-то я не дочитал про 1-700. Такое количество уже будет несколько великоватым.
Хотя с кешированием в теории не должно быть каких-либо ощутимых нагрузок. Но тут зависит от количества таких блоков с большим количеством id-шек и от частоты очистки кеша.
Могу разве что порекомендовать почитать 3й пункт статьи https://sandev.pro/web/141-optimizaciya-dle.html
Ну и еще как вариант можно использовать хак https://sandev.pro/shop/97-custom-cache-by-sander.html

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Bashmak
Юзер

Bashmak - 12 августа 2018 13:48 -

Цитата: Sander
Но тут зависит от количества таких блоков с большим количеством id-шек и от частоты очистки кеша.

В полной новости всего лишь один такой custom будет.
Это как бы основная новость ведущая на главы, как сериал.
Например новость называется Игра престолов.
А custom выводит ссылки на главы.
И таких глав может быть много, но чаще всего не больше 300 глав.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх