Здравствуйте. Прошу учесть очень важный момент который может существенно оптимизировать работу характеристик. С удивлением было обнаружено что boolean характеристики в статусе False хранятся в базе. Проконсультировался с рядом разработчиков никто не смог мне аргументировать зачем это нужно. Привожу пример:
- 200 характеристик с возможностью отмечать характеристику, припустим “пульт управления”.
- 10 000 товаров, из которых только 100 имеют вообще такую возможность иметь “пульт управления”, остальные 9900 просто хранят статус характеристики в False
Вроде бы как не очень страшно если это нужно вывести в карточке товара, но для фильтров это уже достаточно тяжелая выборка.
Сразу хочу отметить что варианты типа “нужно отметить что такой опции нету” не принимаются так как тогда должно быть 3 варианта None | True | False то есть это уже селект но ни разу не буль. Как пример не вижу такой возможности отметить товары без “пульта управления” так как вы не можете выбрать что такая опция отсутствует.
Исходя из этого я могу предположить что громадное количество опций просто болтаются в статусе False создавая огромные очереди при формировании тех же фильтров. Я уже молчу о всякого рода обновления при импорте и тд. тп. В общем на лицо явная избыточность которая создает крупные проблемы в работе характеристик.