Уважаемые, подскажите, что будет производительнее, размещение на странице компонента который забирает данные из инфоблока или запрос к БД путем GetList ?
19.02.2015 14:59:05
Уважаемые, подскажите, что будет производительнее, размещение на странице компонента который забирает данные из инфоблока или запрос к БД путем GetList ?
|
|
|
|
19.02.2015 15:24:50
Идеологически верно и для производительности полезно собрать свой компонент без лишних запросов. НО, это сработает только если у вас уровень позволяет написать запросы без лишнего барахла. Обычно, если у вас уже есть такой уровень, то подобные вопросы вы не задаёте, поскольку умеете пользоваться отладкой и смотреть время выполнения запросов... P.S. не забывайте, что просто запрос на странице не кешируется. Его надо обернуть в кеш. А компонент кешируется. Запрос к БД всегда* проиграет кешу по скорости (хотя первый хит конечно всё равно сделает запрос к БД для создания кеша). |
|||||
|
|
19.02.2015 15:55:29
Алексей Задойный,спасибо за ответ.
Я просто думал не оборачивать в компонент, а сразу, на лету делать. А можно пример обертки заброса к БД кешем ? |
|
|
|
19.02.2015 18:02:36
Вообще это ужасный моветон городить запросы к БД (пусть даже через апи) на странице, заворачивать их в кеш и т.д. Есть жизненный цикл страницы, от него и отталкивайтесь. |
||||
|
|
|||