Эти способы ограничения выдачи аналогичны тем, что используются в mysql при полнотекстовом поиске. К сожалению с помощью данных конструкций мою задачу решить нельзя.
А вы не пробовали эту версию? Не хотелось бы на продакшн ставить бету, о которой ничего неизвестно.
уточнение: не хранить строки, а отдавать строки. он и так их хранит, только не показывает, зараза :)
А вы не пробовали включить логирование mysql запросов с debug_backtrace?
Логирование можно сделать очень просто, перенаправив все запросы с mysql_query на mysql_query_user а уж в пользовательской функции делать бэктрейс и писать в файлик. Заодно посмотрите нерациональные запросы.
//производительность, ведь производительность MongoDB на порядок выше чем у реляционных БД
Не нужно холиварить. Если бы то, что вы говорите было правдой, mysql бы перестал быть необходимым. Любое обсуждение подобных СУБД сводится к вопросу- «а куда бы его сунуть» и ответу «для разных ситуаций разные СУБД». ДОСУБД здорово помогают при работе с большими деревьями, с даннными, имеющими большую динамичность, избавляют от необходимости плодить множество таблиц для похожих сущностей, но они упираются в мозг человека, который проектирует БД. Рескну сказать, что спроектировать БД в mysql в сто раз проще, чем в MongoDB.
Тоесть я могу получить что-то вроде
| dir/file.php->dir/file2.php->dir/dir/file3.php
| dir/file.php->dir/file4.php
?
Xdebug был бы замечательным вариантом, но ни одна утилита, работающая с его выходным файлом не содержит функционала слежки за инклудами. Как получить дерево с корректным наследованием?
Если вы про перегрузку стандартных функций, то с этим особо нет проблем. Я описал несколько вариантов решения задачи, три из которых мне под силу. Но суть вопроса в существовании готового решения.
В официальной документации есть пример индексирования на примере mysql- api.yandex.ru/server/doc/concepts/y-ds-my-sql.xml. //сфинкс не ставил, сравнить не могу.
Интересен опыт использования обоих продуктов.