Каков наиболее эффективный способ запроса таблицы стилей MPTT по пути? - PullRequest
0 голосов
/ 09 марта 2011

У меня есть таблица MySQL, в которой хранятся иерархические данные с использованием метода MPTT. В таблице также есть столбец, в котором я храню короткий строковый идентификатор (слаг) для каждой строки.

Я бы хотел иметь возможность запросить таблицу, чтобы найти правильную строку, когда указан путь, содержащий эти слагы. То есть учитывая путь foo/bar Я бы хотел найти строку, которую он представляет, наиболее эффективным способом.

Могу ли я сделать это в одном запросе SQL? Если нет, то какой самый эффективный способ объединить несколько запросов, чтобы получить правильный результат? Я использую PHP в своем приложении, что может быть уместно, если это невозможно сделать исключительно с помощью SQL-запросов.

1 Ответ

0 голосов
/ 18 октября 2011

Если вам нужны быстрые чтения и вы не возражаете против более медленных записей, кэшируйте пути в другом столбце. Вы можете сделать регенерацию кэшей пути более эффективной, обновляя только измененный узел (и его дочерние элементы), используя кешированный путь его родителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...