Мне нужен совет по передаче большого количества данных в базу данных MySQL, размещенную удаленно. (GoDaddy)
Я получил CSV-файл на 700 тыс. Строк, импортировал его в MSSQL на своем компьютере разработчика и написал несколько быстрых утилит.
Первым было создать CSV-файлы меньшего размера (1 мегабайт), которые можно было напрямую импортировать через
PhpMyAdmin.
максимум 1 мег http://xtubedownloads.com/public/starfield.png
Я получал только приблизительно 1600 строк на каждый мег, что означало бы около 437 отдельных загрузок вручную. Невозможно, поэтому я отказался от этой техники.
Далее я попытался использовать коннектор MySQL .NET и перенести напрямую через ODBC из MS Access и MS Excel. Это не удалось.
Наконец, я написал WinNET-приложение .NET, которое получает данные из моей локальной базы данных SQL Server, а затем обновляет удаленную базу данных MySQL с помощью стандартных запросов вставки с использованием сборок данных .NET MySQL.
У меня есть приложение winform, порождающее 4 потока, каждый из которых вставляет новую уникальную запись, чтобы максимизировать мои входные данные по четырем новым записям для каждого цикла, но при этом я получаю только около 100 тысяч записей в день.
(я пытался увеличить до 10 потоков и запустить несколько экземпляров приложения, но эти передачи - это переполнение памяти, и 4 - это почти все, что моя машина может взять без проблем)
Я локально установил инструменты администрирования mysql (MySQL WorkBench 5.2CE), надеясь каким-то образом передать данные MSSQL через инструмент администрирования mysql. Невозможно это сделать.
Все попытки машинного ODBC терпят неудачу при использовании стандартных инструментов, таких как MSAcess и MSExcel. (Может быть, какие-то проблемы с настройкой Godaddy или тот факт, что я использую 64-битную ОС и инструменты Mysql odbc 32?)
У меня есть возможность удаленного подключения к MySQL-серверу Godaddy, так что моя единственная другая идея - поместить 700k записей в базу данных Access на сервере и создать 10 или 20 служб WCF для вставки в MySQL. база данных.
Возможно, устранение задержки передачи каждого ряда по проводу значительно увеличит скорость вставки?
Существует метод, который более эффективен, чем у меня сейчас, - машина, работающая 24/7 в течение нескольких дней только для вставки записей.