SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.02.2012 11:35:58

wawa
Участник
Зарегистрирован: 06.04.2010
Сообщений: 6

group_concat для больших blob

Привет всем!

В таблице есть столбец с блобом LONGBLOB.
Есть запрос, который нормально с ним работает.
Как только добавляю выборку по двум таблицам, то запрос возвращает только 65К из ожидаемых 1М.
При этом с маленькими блобами второй вариант работает нормально.
Прошу помочь разобраться, где ограничитель.


# Этот запрос возвращает 1М, все ок.
set global group_concat_max_len=4294967294;
SELECT GROUP_CONCAT(r.resource)
        FROM test.resource AS r
        WHERE r.id=165;

# Используется таблица-связка. Этот запрос возвращает только 65К из 1М.
set global group_concat_max_len=4294967294;
SELECT GROUP_CONCAT(r.resource ORDER BY pr.ndx ASC SEPARATOR '')
        FROM test.resource AS r,test.pool_resource AS pr
        WHERE pr.pid=24 AND r.id=pr.rid ORDER BY pr.ndx ASC ;
 

Неактивен

 

#2 24.02.2012 19:26:55

wawa
Участник
Зарегистрирован: 06.04.2010
Сообщений: 6

Re: group_concat для больших blob

Сам же отвечу, вдруг кому понадобится.
Если убрать "ORDER BY pr.ndx ASC", то работает норм.
Правда, теперь не ясно, как влиять на порядок склейки.

Неактивен

 

#3 26.02.2012 00:18:36

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: group_concat для больших blob

Какой-то странный у Вас запрос — группировки то нет, Вы просто хотите
все значения написать в одну строку?

Неактивен

 

#4 26.02.2012 08:40:31

wawa
Участник
Зарегистрирован: 06.04.2010
Сообщений: 6

Re: group_concat для больших blob

Новый вариант выглядит так:

# Используется таблица-связка. Этот запрос возвращает только 65К из 1М.
set global group_concat_max_len=4294967294;
SELECT GROUP_CONCAT(r.resource SEPARATOR '')
        FROM test.resource AS r,test.pool_resource AS pr
        WHERE pr.pid=24 AND r.id=pr.rid;

Я убрал OREDER из хвоста, т.к. он ни на что не влияет. Остался в результате отладки.
А вот "ORDER BY pr.ndx ASC" из group_concat принципиально нужен.
Но с ним не работает (возвращает первые 65К результата). Без него - работает (все 1М данных).
Не пойму, как может влиять.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson