|
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 2
|
|
MySQL Быстрая запись из List в базу данных17.12.2015, 12:43. Показов 3508. Ответов 4
Метки нет (Все метки)
Добрый день!
На работе решили изобрести велосипед, я сделал, но он получился медленный. Суть дела: Предприятие решило запустить веб-сайт для поставщиков, чтобы они через интернет могли заказывать нашу продукцию. Сейчас на предприятии основная работа идет в базе 1С 7.7, которая вертится на SQL SERVER 2005, плюс есть набор самописных программ управляющих производством. Данные по товарам, контрагентам, по остаткам товаров на складах и по их актуальным ценам сайту предоставляет база данных системы 1С. Появилась потребность выгружать актуальные остатки в БД сайта (СУБД mySQL). Компания, которой заказан сайт, не может на своей стороне выполнять запросы к нашей 1С базе, тк наименования товара на русском языке и как следствие возникают проблемы с кодировкой. Они ссылаются на apache, но я считаю, что им просто лень разбираться. Было принято решение запросы выполнять на нашей стороне. для этого я сделал на java веб-сервис, который вытаскивает из нашей базы все остатки с ценами и прочей ерундой и записывает их в БД сайта. Работает так: Запрос, результат в ArrayList, цикл по ArrayList, для каждого элемента делаю insert в БД сайта. ArrayList всреднем получается объемом 8000 объектов по 6 полей в каждом. Вся процедура занимает порядка 15 минут. Подскажите пожалуйста, есть ли способ как то ускорить процесс?
0
|
|
| 17.12.2015, 12:43 | |
|
Ответы с готовыми решениями:
4
Быстрая запись строк в базу Быстрая запись большого колличества данных на питоне Как записать list в базу данных access? |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 17.12.2015, 13:32 | |
|
VladimirAlekhin, для начала не вставляйте записи по одной. Пишите один запрос на вставку всех элементов. Если это существенно не повысит производительность, можно будет смотреть в сторону более сложных решений.
0
|
|
|
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 2
|
|
| 17.12.2015, 14:04 [ТС] | |
|
В этом наверное и суть моего вопроса: как вставить все записи разом?
Запрос на выборку отрабатывает за секунду, по сети, тоже, не такой большой объем данных, чтобы так медленно ползти. остается 8000 insert-ов. Копал на тему как одну таблицу в другую быстро скопировать, но тут должна быть структура таблиц одинаковая. У сайта одна красивая таблица, в 1С беда. Представление не вариант делать - 1С уничтожит его. Таким образом у меня есть RecordSet с остатками. (ArrayList убрал.) Возможно ли его разом записать в таблицу? Если да, то как? Добавлено через 6 минут Кстати, одна операция вставки отрабатывает, за 0.023 с, умножить на 8000 получаем 184 с = 3 минуты. Ну плюс выборка, плюс подключения к двум базам. Что происходит в оставшиеся 12 минут?! Код без изощрений, получил connection, выполнил statement, закрыл connection.
0
|
|
|
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
||||||
| 17.12.2015, 14:58 | ||||||
0
|
||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 17.12.2015, 15:43 | |
|
VladimirAlekhin, чем вы пользуетесь для работы с БД?
0
|
|
| 17.12.2015, 15:43 | |
|
Помогаю со студенческими работами здесь
5
Где ошибка? (Запись данных из массива в базу данных mysql) Запись данных в базу данных mdb с использованием DataAdapter и DataSet Запись в базу данных из форм; экспорт базы данных
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|