сделать подзапрос на 4.0

ТопольМ

Новичок со стажем
вижу вчерашний вечер не прошел даром :)

значит так:
1. поле id уникально
2. да, все дело присходит в одной таблице
3. переформулирую задачу:
надо выбрать потомков конкретного объекта 1234 (parent_id=1234) с некоторым условием $where, отсортировать этот набор по некоторому полю $order, затем взять их определенное число $limit и проверить входит ли указанный объект 567 в результирующий набор и вернуть 567, если входит, иначе ничего не вернуть.

вся проблема в том, что перед проверкой набор потомков надо сортировать и брать их определенное количество
 

chira

Новичок
ТопольМ

лимитом ты сколько записей отрезаешь 10,1000, 1000000?
если немного, то проверь наличие нужного id в списке с помощью PHP или вариант с временной таблицей
 

ТопольМ

Новичок со стажем
лимитом ты сколько записей отрезаешь 10,1000, 1000000?
если немного, то проверь наличие нужного id в списке с помощью PHP или вариант с временной таблицей
с самого начала была такая мысль...
записей много, сейчас порядка 200 000 и есть тенденция постоянного роста
поэтому и хотелось бы все делать в mysql
 

chira

Новичок
ТопольМ

1. 200 000 - это во всей таблице или только для parent_id = 1234?
2. использование $limit - это попытка оптимизировать запрос или это часть какого-то алгоритма?
 

ТопольМ

Новичок со стажем
chira
1. 200 000 - это во всей таблице или только для parent_id = 1234?
2. использование $limit - это попытка оптимизировать запрос или это часть какого-то алгоритма?
1. пока в таблице, но дерево очень неоднородное и для одного предка может встречаться порядка нескольких тысяч потомков
2. это часть алгоритма, пользователь задает сколько выбирать и как сортировать
 

chira

Новичок
1. сделай через временную таблицу
2. или меняй алгоритм

до сих пор не могу понять, зачем искать id в списке ограниченным лимитом ...
 
Сверху