|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.03.2016, 22:12 | #1 |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
MySQL. Пакетное сравнение строк
Всем привет!
Есть парсер ютуб, который тягает инфу о видео и прописывает в базе. При парсинге видео он подхватывает ссылки на другие видео, которые хранятся в файле в виде сериализованного массива. То есть после парсинга каждого видео файл дополняется, а перед парсингом вырезается одна ссылка. Нужно, чтобы в этот файл не попадали ссылки, которые уже в базе. На ум приходит только проверка в цикле. Но тогда нужно при каждой итерации посылать запрос в базу. Можно ли как-то одним запросом послать список URl и получить обратно только те ссылки, которых нет в базе?
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
20.03.2016, 22:16 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
where url not in ('...','...',...)
перечень динамически есть вариант и с временной таблицей с перечнем урлов
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
20.03.2016, 22:24 | #3 | |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
Цитата:
Про временную таблицу я тоже подумал сразу, но не знаю как с ней работать. Не можете показать на примитивном примере, который бы подошел к моему случаю?
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
|
20.03.2016, 22:34 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
not не пойдет. Скорее всего без него получить список тех, которые есть, а в коде разобраться которых нет. А если этот список в таблице будет, то тогда скорее всего в духе not exists напрямую получая перечень отсутствующих
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
20.03.2016, 22:38 | #5 | |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
Цитата:
Я вот думаю, может просто создать еще одну таблицу, где хранить все ссылки и флаги (пропарсено\непропарсено). А полю задать первичный ключ и обновлять с ON DUPLICATE KEY...
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
|
20.03.2016, 22:50 | #6 |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
А, простите. Понял теперь. Получить список тех, что уже в базе из нового списка урлов. Все понял. Да, этот вариант подходит. Спасибо!
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
20.03.2016, 22:50 | #7 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
а зачем DUPLICATE? вы что хотите что то обновлять? Если нет - IGNORE достаточно
|
20.03.2016, 23:00 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Немного не так. Допустим есть список '1','2','3','4' . А в базе есть куча и в том числе '2' и '3'. Запросом
Код:
Если же этот же список будет в какой-то таблице, то запросом Код:
Только нужно оценится, что лучше. Чем больше в in элементов, тем дольше. Допускаю, что еще возможны ограничения либо на их кол-во, либо на длину списка. Как-то в MS SQL сталкивался с этим. Запрос к временной отработает очень быстро, но нужно потрудиться над её созданием. Тоже время
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 20.03.2016 в 23:16. |
20.03.2016, 23:14 | #9 | |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
Цитата:
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
|
20.03.2016, 23:44 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
На пост #7 обрати внимание. Возможно там решение всех проблем
http://ekimoff.ru/214/
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение, добавление и обновление БД в mysql | Lea123 | Помощь студентам | 1 | 27.12.2014 09:52 |
сравнение строк и исключение повторов в пределах 4 строк | Dariloff | Microsoft Office Excel | 2 | 20.01.2013 23:33 |
Сравнение дат MySQL | Cyworc | БД в Delphi | 3 | 04.03.2012 14:52 |
MySQL сравнение множества с множеством. | vedro-compota | SQL, базы данных | 6 | 31.01.2011 14:05 |
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце | Shpr0T | Microsoft Office Excel | 8 | 30.08.2010 17:52 |