То есть в конечном счёте получается удалять физически? То есть лишний размер таблицы хуже чем фрагментация (или OPTIMIZE TABLE это полностью устраняет)?
Короче, нужно было просто прокси прописать. А эти настройки расположены в хитром контекстном меню, вызываемом по хардварной кнопочке. Надо читать инструкцию короче ))
Пробовали таким образом — по каким-то необъяснимым причинам не работает. И просто в hosts на машине с usergate добавляли и даже какую-то его настройку вида «использовать локальный такой-то файл для разрешения имён» пробовали…
Немного вас не понял. А именно — почему вы так жестко определили «5 символов на узел в пути»? Уточню, узлы в пути могут быть произвольной длины — «бытовая-электроника/аудиотехника/для-меломанов/ламповые-усилители» и именно эта строка является является «ключом» для поиска. Никаких дополнительных сведений ни о ID категории ни о чём-то ещё нет. Вобщем, это выглядит так: example.com/shop/category/бытовая-электроника/аудиотехника/для-меломанов/ламповые-усилители
Поясню, поле `path_crc` — именно для быстрого поиска конкретной категории, по полному пути, естественно ни о каких «WHERE LIKE» по этому полю речи не шло =)
Да, в принципе такое не часто, но возможно. Nested Sets как-то не хочется как раз из-за сложности перестроения иерархии в случае какого-либо обновления. Пытаюсь найти какое-либо альтернативное решение в виде гибрида технологий.
Что если сделать так: добавляем поле UNSIGNED INT path_crc с индексом, и храним там CRC32 от `path`. Соответственно, при запросе категории, преобразуем URI в CRC32 и ищем по нему. Вероятность совпадения CRC для разных путей должна быть ничтожно мала если я ничего не путаю. Всё это для того, чтобы не держать большой индекс для поля `path` и быстрей искать категорию.
Далее, прикручиваем поле `mpath`VARCHAR (25) с индексом, в котором, следуя методу Materialized path, храним «цифровой» путь к категории (например 1.2.34.456) — это для более быстрой выборки подкатегорий уже известной категории (пользуемся WHERE LIKE). А поля `path` и `titlepath` оставляем просто для построения «хлебных крошек» и индексы с них убираем. Конечно, добавляется пара лишних полей, но они, как мне кажется, оправданны каждое в своём случае.
Да, я пока домой добирался тоже подумал о md5 для path или о чём-то ещё более коротком. Может есть способ получить более короткую уникальную строку из path? Спасибо!