Общие > Базы данных

Заливка большого объема данных

<< < (2/4) > >>

Alexandr:
Сначала LOAD, потом
CREATE TABLE tbl_for_up1 SELECT ... FROM tbl_for_up WHERE ... GROUP ...
CREATE TABLE tbl_for_up2 SELECT ... FROM tbl_for_up WHERE ... GROUP ...

ну и т.д.

kosm:
Alexandr
Спасибо. Идею понял, попробую воплотить...
Тогда еще вопросец. Есть файл со списком значений по которому надо сделать LIKE. Какая нить встроена ф-ция mysql это может?
Типа:
select * from xxx
where name like load_file(\'ddd\');

Да и ведь такая конструкция тоже не будет работать?
select * from xxx
where name like (\'str1%\',\'str2%\',\'str3%\');

Можно как нить быстро сравнить со списком?

fidget:

--- Цитировать ---
Есть файл со списком значений по которому надо сделать LIKE. Какая нить встроена ф-ция mysql это может?
--- Конец цитаты ---


нет.

Alexandr:

--- Цитировать ---kosm:
Есть файл со списком значений по которому надо сделать LIKE.
--- Конец цитаты ---

CREATE TEMPORARY TABLE tmp (
my_text VARCHAR(255) NOT NULL
);
LOAD DATA ... INTO TABLE tmp;
SELECT my_text FROM tmp WHERE my_text LIKE \'%val1%\' OR my_text LIKE \'%val2%\' OR my_text LIKE \'%val3%\';
или
SELECT my_text FROM tmp WHERE my_text RLIKE \'(val1|val2|val3)\';

kosm:
Alexandr
Огромное спасибо за помощь!
Через OR не пойдет т.к. valX у меня может быть до 2000 разных. А вот творой вариант более копактный, просто придеться собрать все в список. Хотя тоже длинновато получится :(
А больше вариантов нет?
А если список VAL-значений загрузить во временную таблицу?
...типа: WHERE tbl.name like tmp.name ?
Так не прокатит?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии