Как быстрее, проще и лучше загружать большие данные в Mysql?
День добрый, собственно вопрос!
На почту приходить файл от клиента в формате exel, я его скачиваю и вытаскиваю данные, и эти данные загружаю в базу, клиенты (файлы) разные и их может быть много.
Мне нужно с периодом в 1час грузить данные с файла допустим 60 тыс строк в базу mysql в одну табличку, в строке в таблице 10 ячеек, мне по сути нужно изменять данные только в 3 ячейках, остальные ячейки постоянные
Как это правильно организовать по вариантам
1) Сначала удалить все данные клиента(файл) одним махом, и заново одним махом загрузить?
2) Обновлять эти ячейки, то есть искать в 60 тыс строк,строку где произошли изменения и обновлять в строке в таблице mysql эту ячейку?
Что будет работать быстрее? Что меньше грузит память?
Я понимаю, что по правильному это обновление, но мне кажется что это будет дольше по времени.
Для правильного вопроса надо знать половину ответа
Если данные в строке не менялись, то MySQL не обновляет строку и не пересчитывает индексы, так что стандартный UPDATE трёх ваших колонок - это лучшее решение.
Это всего 60тыс строк. Для бд - раз плюнуть. Когда дело дойдет до миллиона, тогда будешь думать о производительности.
Делай как тебе удобнее, например insert on duplicate key update