- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
У меня есть многоуровневая структура каталога.
напрмиер типа
Строительство->Дома->Красивые->Зеленые
и.т.д.
Есть так же страничка, на которой пользователи могут добавлять записи.
Уже 800 категорий. Выстраивается дерево (по типу примера выше) и выводится в поле SELECT.
Как это все дело правильно закешировать т.к. получается большая нагрузка и медленно выполняется. И к тому же при переборе значение идет проверка на "selected'.
попробуйте избавиться от LEFT JOIN это снизит нагрузку
если тупо(эффективно :) ) и в лоб, то просто закешируйте, результат sql и будет вам счастье.
код примерно такой, когда-то писал похожее для себя...
сейчас я код копировал/набирал в браузере, так что возможны опечатки, проверяйте..
ps: если кому чего посложнее нужно закешировать - обращайтесь :)
pss: если вас "радует" скорость загрузки кучи тяжелых явовых скриптов типа jquery и прочих прибамбасов, то тоже есть решение.
Банально, но все же: проверьте есть ли индексы на полях c.cat_id и cv.cat_val_id
А сколько записей в каталоге если категорий 800?
Это только категорий 800, а записей пока нет. Новый проект.
Касательно кеширвоаня - делается ADODB кеширование ( по сути тоже самое что admak написал). Но все равно тупит. Возможно тупит еще потому, что показывается полное дерево в селеткте.
Left join - нужно, т.к. в одном одни значения, в другом другие. (странно но когда я все это дело писал, я не хотел разбивать базы, но мне порекомендовали что так быстрее.. а тут вот обратное ? )
Хм, нет записей и тупит? А тупит это сколько по времени?
С таким кол-вом записей все по идее должно мгновенно работать даже без индексов. Если только объемы самих данных большие.
Касательно кеширвоаня - делается ADODB кеширование ( по сути тоже самое что admak написал). Но все равно тупит. Возможно тупит еще потому, что показывается полное дерево в селеткте.
а вы проверьте, действительно ли оно работает.
да и зачем гадать? по засекайте время выполнения отдельных кусков скрипта - вот и получите ответ.
Я не знаю как это сделать. Как засечь отдельные фрагменты....
У меня есть только таймер на общую загрузку... И то сдертый :)
сама функция
попробуйте воспользоваться mysql EXPLAIN:
http://dev.mysql.com/doc/refman/5.0/en/explain.html
Я тут счетчик запрсоов поставил. Оказалось 1786 Запросов. Это похожу уж очень дофига)
Кешируется при этом Cache: 1782. (остальны запросы не по теме... )
Даже не знаю.... Может тогда лучше от ДЕРЕВОВИДНОГО вывода отказаться?