Комментарии 10
В целом все красиво, но, есть одно select * from table limit 0 работает дольше чем ручной обход схемы на больших таблицах. А вообще подход к решению шикарнейший. Меня остановил подобный путь чрезмерным расходом памяти. Хм, может перелинкуем наши решения?
0
Глупый такой вопрос. Почему просто не сделать выборку SELECT… FROM A UNION B UNION C UNION D UNION ETC?
0
Вопрос не глупый. Такой вариант конечно рассматривался, однако поверьте мне на слово мой вариант работает быстрее. UNION — очень тяжеловесная операция, так как необходимо делать ORDER BY уже после объединения данных. Т.е. в моем варианте ORDER BY происходит для каждого столбца в отдельности за приемлимое время (однако не маленькое), а в случае с UNION эта сортировка происходит для всех данных вместе. Сравните: отсортировать 100 столбцов по миллиону записей в отдельности и отсортировать все эти данные после объединения. Выигрыш серьезный получается.
по крайней мере в CUBRID.
Я попробовал различные способы. Этот получился наиболее быстрым.
по крайней мере в CUBRID.
Я попробовал различные способы. Этот получился наиболее быстрым.
0
Много памяти жрет.
0
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
Решение задачи второго конкурса CUBRID it!