Здравствуйте. Есть инфоблок, там более 500.000 элементов, у элемента около 40 свойств. используются инфоблоки 2.0
заметил, что выборка из этой таблицы (инфоблока очень долгая) (пара секунд - это долго) выборка 1 элемента с фильтром через CIBlockElement::GetList()
например я хочу получить элементы, у которых свойство user_id = 331 при этом в select. указываю только нужное (около 5 полей)
Прогуглил про фасетный индекс, но не понял... он работает только если использовать умный фильтр из стандартный компонентов или же на кастомный GetList так же распространятся? в исходном коде GetList не нашел ничгео такого...
еше прогуглли про https://ruhighload.com/%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D1%8B+%D0%B2+mysql их как-то красиво в GetList можно прикрутить? ну и или какие есть методы решения? таблица все растет и растет, выборка все медленнее и медленнее (оптимизировать запрос уже некуда - все по минимуму все через fetch и с указанием nTopPage)
Про " фасетный индекс" ничего не могу сказать, но попробуйте делать выборку методом из D7, линкна пример, мб он "шустрее" работает чем старый GetList, а может и нет Однако, у него есть свои нюансы при работе с пользовательскими свойствами.