Rassol2 Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Здравствуйте. А в опенкарт вообще можно создать мульти запрос. https://php.net/manual/ru/mysqli.quickstart.multiple-statement.php А то у меня что то не получается. Если да то как ? В файле /system/library/db/mysqli.php Я не нашел упоминания об этом. Надіслати Поділитися на інших сайтах More sharing options... ozzzi Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 В документации же указано, что $this->connection->query($sql) в случае множественных запросов не выполнится из соображений безопасности. Для этого этого отдельно и ввели multi_query 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 8 минут назад, ozzzi сказал: В документации же указано, что $this->connection->query($sql) в случае множественных запросов не выполнится из соображений безопасности. Для этого этого отдельно и ввели multi_query Я конечно извиняюсь, но судя по документации php нужно составить строку которая содержит много запросов разделенных точкой с запятой. Это не проблема. Затем нужно отправить через $this->connection->multi_query($sql); так вот в рамках опенкарт нету такого метода. multi_query И при попытке вызвать его получаем Fatal error: Uncaught Error: Call to undefined method DB::multi_query() in Поскольку такого нету в библиотеке /system/library/db/mysqli.php Спойлер Вот и суть вопроса. В опенкарт это возможно или нет ? И если да то как. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 4 минуты назад, Rassol2 сказал: И если да то как. 5 минут назад, Rassol2 сказал: так вот в рамках опенкарт нету такого метода. multi_query так добавьте 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер 1 Надіслати Поділитися на інших сайтах More sharing options... ozzzi Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 9 минут назад, fanatic сказал: так добавьте 5 минут назад, ozzzi сказал: Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } значит нету возможности. И нужно добавлять. А вмешивается в работу стандартных библиотек не особо хочется. 6 минут назад, chukcha сказал: Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер Тайных смыслов нету. Хочется поработать с данной функцией. Есть необходимость массово записать много значений в таблицу. И что бы не использовать цикл с запросами хотел попробовать мульти запрос. Буду думать всем кто отписался спасибо. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 6 минут назад, Rassol2 сказал: Есть необходимость массово записать много значений в таблицу. Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ozzzi Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 В документации же указано, что $this->connection->query($sql) в случае множественных запросов не выполнится из соображений безопасности. Для этого этого отдельно и ввели multi_query 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 8 минут назад, ozzzi сказал: В документации же указано, что $this->connection->query($sql) в случае множественных запросов не выполнится из соображений безопасности. Для этого этого отдельно и ввели multi_query Я конечно извиняюсь, но судя по документации php нужно составить строку которая содержит много запросов разделенных точкой с запятой. Это не проблема. Затем нужно отправить через $this->connection->multi_query($sql); так вот в рамках опенкарт нету такого метода. multi_query И при попытке вызвать его получаем Fatal error: Uncaught Error: Call to undefined method DB::multi_query() in Поскольку такого нету в библиотеке /system/library/db/mysqli.php Спойлер Вот и суть вопроса. В опенкарт это возможно или нет ? И если да то как. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 4 минуты назад, Rassol2 сказал: И если да то как. 5 минут назад, Rassol2 сказал: так вот в рамках опенкарт нету такого метода. multi_query так добавьте 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер 1 Надіслати Поділитися на інших сайтах More sharing options... ozzzi Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 9 минут назад, fanatic сказал: так добавьте 5 минут назад, ozzzi сказал: Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } значит нету возможности. И нужно добавлять. А вмешивается в работу стандартных библиотек не особо хочется. 6 минут назад, chukcha сказал: Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер Тайных смыслов нету. Хочется поработать с данной функцией. Есть необходимость массово записать много значений в таблицу. И что бы не использовать цикл с запросами хотел попробовать мульти запрос. Буду думать всем кто отписался спасибо. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 6 минут назад, Rassol2 сказал: Есть необходимость массово записать много значений в таблицу. Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 8 минут назад, ozzzi сказал: В документации же указано, что $this->connection->query($sql) в случае множественных запросов не выполнится из соображений безопасности. Для этого этого отдельно и ввели multi_query Я конечно извиняюсь, но судя по документации php нужно составить строку которая содержит много запросов разделенных точкой с запятой. Это не проблема. Затем нужно отправить через $this->connection->multi_query($sql); так вот в рамках опенкарт нету такого метода. multi_query И при попытке вызвать его получаем Fatal error: Uncaught Error: Call to undefined method DB::multi_query() in Поскольку такого нету в библиотеке /system/library/db/mysqli.php Спойлер Вот и суть вопроса. В опенкарт это возможно или нет ? И если да то как. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 4 минуты назад, Rassol2 сказал: И если да то как. 5 минут назад, Rassol2 сказал: так вот в рамках опенкарт нету такого метода. multi_query так добавьте 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер 1 Надіслати Поділитися на інших сайтах More sharing options... ozzzi Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 9 минут назад, fanatic сказал: так добавьте 5 минут назад, ozzzi сказал: Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } значит нету возможности. И нужно добавлять. А вмешивается в работу стандартных библиотек не особо хочется. 6 минут назад, chukcha сказал: Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер Тайных смыслов нету. Хочется поработать с данной функцией. Есть необходимость массово записать много значений в таблицу. И что бы не использовать цикл с запросами хотел попробовать мульти запрос. Буду думать всем кто отписался спасибо. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 6 минут назад, Rassol2 сказал: Есть необходимость массово записать много значений в таблицу. Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
fanatic Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 4 минуты назад, Rassol2 сказал: И если да то как. 5 минут назад, Rassol2 сказал: так вот в рамках опенкарт нету такого метода. multi_query так добавьте 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер 1 Надіслати Поділитися на інших сайтах More sharing options... ozzzi Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 9 минут назад, fanatic сказал: так добавьте 5 минут назад, ozzzi сказал: Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } значит нету возможности. И нужно добавлять. А вмешивается в работу стандартных библиотек не особо хочется. 6 минут назад, chukcha сказал: Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер Тайных смыслов нету. Хочется поработать с данной функцией. Есть необходимость массово записать много значений в таблицу. И что бы не использовать цикл с запросами хотел попробовать мульти запрос. Буду думать всем кто отписался спасибо. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 6 минут назад, Rassol2 сказал: Есть необходимость массово записать много значений в таблицу. Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер 1 Надіслати Поділитися на інших сайтах More sharing options... ozzzi Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 9 минут назад, fanatic сказал: так добавьте 5 минут назад, ozzzi сказал: Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } значит нету возможности. И нужно добавлять. А вмешивается в работу стандартных библиотек не особо хочется. 6 минут назад, chukcha сказал: Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер Тайных смыслов нету. Хочется поработать с данной функцией. Есть необходимость массово записать много значений в таблицу. И что бы не использовать цикл с запросами хотел попробовать мульти запрос. Буду думать всем кто отписался спасибо. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 6 минут назад, Rassol2 сказал: Есть необходимость массово записать много значений в таблицу. Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ozzzi Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 9 минут назад, fanatic сказал: так добавьте 5 минут назад, ozzzi сказал: Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } значит нету возможности. И нужно добавлять. А вмешивается в работу стандартных библиотек не особо хочется. 6 минут назад, chukcha сказал: Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер Тайных смыслов нету. Хочется поработать с данной функцией. Есть необходимость массово записать много значений в таблицу. И что бы не использовать цикл с запросами хотел попробовать мульти запрос. Буду думать всем кто отписался спасибо. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 6 минут назад, Rassol2 сказал: Есть необходимость массово записать много значений в таблицу. Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 9 минут назад, fanatic сказал: так добавьте 5 минут назад, ozzzi сказал: Сами же все описали: метода нужного нет. Чтобы заработало нужно его добавить, иначе никак. public function multi_query($sql) { $this->connection->multi_query($sql); } значит нету возможности. И нужно добавлять. А вмешивается в работу стандартных библиотек не особо хочется. 6 минут назад, chukcha сказал: Какой тайный смысл? Но можно и добавить методы как в либу, так и в адаптер Тайных смыслов нету. Хочется поработать с данной функцией. Есть необходимость массово записать много значений в таблицу. И что бы не использовать цикл с запросами хотел попробовать мульти запрос. Буду думать всем кто отписался спасибо. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 6 минут назад, Rassol2 сказал: Есть необходимость массово записать много значений в таблицу. Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 6 минут назад, Rassol2 сказал: Есть необходимость массово записать много значений в таблицу. Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Так может сформировать массивы? INSERT INTO table (id, name, value) VALUES (1,'name','value'), (2,'name1','value2') Да можно. Так и есть сейчас массив который по очереди выполняет запрос. Но суть вот в чем. Есть 80т ссылок. Которые нужно записать в базу данных. Причем нужно произвести перед записью проверку есть ли в базе такая ссылка. По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. Вот я и подумал. Заменить сделать запрос INSERT INTO с проверкой. Что бы проверка была на уровне базы данных. Это сразу сократить с 160т до 80 необходимых запросов. А ели у меня будет массив с запросами почему бы не обьеденить в один мульти запрос. И сократить количество соединений с базой. Но это я так балуюсь, нужно же на чем то учится ))) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 1 липня 2019 Share Опубліковано: 1 липня 2019 Это одноразовые работы, поэтому можно и по одному и в цикле Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 1 липня 2019 Автор Share Опубліковано: 1 липня 2019 1 минуту назад, chukcha сказал: Это одноразовые работы, поэтому можно и по одному и в цикле тут вы правы. Но это и породила мой интерес к мульти запросам. Стало интересно поработать с этим. Вот и спросил. Но теперь прицепи все ясно. так что вопрос можно считать закрытым. Пойду играться дальше. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 12 часов назад, Rassol2 сказал: По моим подсчетам получается нужно сделать переборку массива и на каждый элемент сделать проверку есть такая запись или нет. Если нет то записать. Получается вместо 80т уже 160 + php 80т проверок if. достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными 1 Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? вы предлагаете потащить базу в которой почти 100 000ссылок. Затем сравнить с массивом новых и записать обратно ? Но иногда нужно сравнивать по 1800 ссылок за раз. Хотя я подумаю может действительно такой вариант будет экономнее. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 2 часа назад, chukcha сказал: @fanatic Вот чего нет в адаптере - это сырого результата - или ссылки на курсор, Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными о да! Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 3 часа назад, fanatic сказал: достаем ссылки из базы фильтруем новые данные и формируем values добавляем не? но у меня тогда есть еше вопрос. А если в базе будет пол миллиона ссылок ? Дергать такой массив для сравнения мне кажется не целесообразно. Может вы знаете вариант запроса в БД который заменил бы вот такой код php $count = $this->db->query("SELECT id FROM `" . DB_PREFIX . "pars_link` WHERE `link`='".$this->db->escape($link)."' AND `dn_id` =".(int)$dn_id." LIMIT 1"); if($count->num_rows == 0){ $this->db->query("INSERT INTO `" . DB_PREFIX . "pars_link` SET `link` ='".$this->db->escape($link)."', `dn_id`=".(int)$dn_id); } Один запрос которые содержал бы условие, если нету тогда записать ? Поле link и dn_id не уникальный ключ. Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
fanatic Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 3 часа назад, chukcha сказал: Для больших запросов нужно самому пробегаться по курсору, а не получать объект с данными попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Надіслати Поділитися на інших сайтах More sharing options... Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Bn174uk Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Сделай уник и тогда появится много вариантов... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 8 минут назад, fanatic сказал: пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Возможно ограничение на размер запроса Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 12 минут назад, fanatic сказал: попробовал(локально) пол лимона база скушала. два поля - коротенькое описание и ссылка лимон не хочет Вот та конструкция что выше что я написал. При получении массива на 1900ссылок а это поле обработки одной ссылки. Залазиет в базу за 19 секунд. а когда в очереди 45259ссылок это получается что для завершения. процесса нужно ждать всего ничего 10 дней непрерывно 12 минут назад, Bn174uk сказал: А что мешает сделать доп. таблицу под новые ссылки? Потом просто из этой таблицы получить уникальные ссылки и загрузить в основную таблицу, а доп. таблицу просто потом чистить при каждом сборе новых ссылок. Вроде в разы проще в реализации и по запросом меньше будет к БД. 1)Запрос на запись ссылок во временную таблицу; 2)Запрос на получение уникальных ссылок; 3)Записать эти ссылки в основную таблицу. П.С. Если в чем-то ошибаюсь поправьте меня. Идея тоже интересная. Но система построена так что модуль кушает одну ссылку делает все дела. И цикл заканчивается. А затем браузер в роли демона дергает повторно через ajax скрипт и все повторяется. При таком подходе получается что временную таблицу нужно будет очищать после каждой ссылки. и процесс будет таким. Получили 1900 ссылок записали в временную базу в цикле по одной. Затем скопировали уникальные значения в постоянную базу. Очистили временную базу. И по новой. Я новичке в программировании и не уверен что это оправдано. Нужен совет бывалых. Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 7 минут назад, Yesvik сказал: Сделай уник и тогда появится много вариантов... тоже да. Но тут другая конструкция вылазите. Ссылки не могут быть уникальным полем. Потому что одни и теже ссылки могут находится в базе. Просто присвоены разным формам. Спойлер Надіслати Поділитися на інших сайтах More sharing options... Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV
Rassol2 Опубліковано: 2 липня 2019 Автор Share Опубліковано: 2 липня 2019 Для меня идеальный вариант было бы выполнение INSERT + проверка перед записью, если есть такое поле пропустить. Что бы это происходило на уровне базы данных. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Возможно ли формировать мульти запросы в Opencart
AlexDW Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 может что из этого https://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysq 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Yesvik Опубліковано: 2 липня 2019 Share Опубліковано: 2 липня 2019 Так добавь поле с хешем MD5 link+dn_id 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts