У меня есть лист excel, который содержит данные в чем-то вроде этого ex. если в листе есть столбцы «город» и «имя человека». Каждый раз, когда нам нужно проверять, существует ли город в таблице города (mysql) или нет, если нет, то новая строка будет вставлена для городской таблицы города, аналогично будет проверяться для человека name также, если не существует в таблице person (mysql), тогда нам нужно сохранить имя человека в таблице person. Итак, что может быть лучшим способом импортировать тяжелый файл excel из 2gb по крайней мере в mysql, используя php в приведенном выше объясненном сценарии, чтобы меньше запросов выполнялось с меньшей нагрузкой на сервер, и выполнение будет выполняться за долю секунд. Просьба предложить оптимизированное решение для вышеуказанного сценария.import heavy excel to mysql using php
-2
A
ответ
0
Для высокой скорости приема, который необходимо «нормализовать» данные, как она идет, сделать это в два этапа (после загрузки исходных данных в временную таблицу):
Во-первых, добавить новые значения (из host_name
в данном примере):
# This should not be in the main transaction, and it shoud be with autocommit = ON
# In fact, it could lead to strange errors if this were part of the main transaction and it ROLLBACKed.
INSERT IGNORE INTO HostNorm (host_name)
SELECT DISTINCT s.host_name
FROM Staging AS s
LEFT JOIN HostNorm AS n ON n.host_name = s.host_name
WHERE n.host_id IS NULL;
Затем возьмите host_id
для ввода в таблицу фактов:
# Also not in the main transaction, and it should be with autocommit = ON
# This multi-table UPDATE sets the ids in Staging:
UPDATE HostNorm AS n
JOIN Staging AS s ON s.host_name = n host_name
SET s.host_id = n.host_id
Смежные вопросы
- 1. excel import using C#
- 2. export to excel using php
- 3. JSON to MySql using PHP
- 4. mysql to xml using php
- 5. excel formula to mysql database using phpexcel
- 6. import list to excel
- 7. php exporting to excel using utf8
- 8. Ссылка API содержит Json, import to excel using vba
- 9. import excel file to postgreSQL table using Apache POI
- 10. import excel to sql database
- 11. MySQL to Solr import
- 12. import .txt to mysql
- 13. PHP import csv to mysql issue
- 14. C# import excel to Datatable
- 15. Django - import excel to database
- 16. import ics to google calendar using caldav
- 17. yii2 excel import using arogachev plugin
- 18. mySQL table heavy use
- 19. excel to postgresql using spring
- 20. import .db file to mySQL
- 21. mysql import .sql dump using phpmyadmin
- 22. ASP.net: web.config import to txt или excel
- 23. import excel to sql db table
- 24. import named range from excel to access
- 25. Laravel 5 Excel Import to View
- 26. connect android to mysql using jsp
- 27. php mysql export to excel multiple sheets
- 28. PHP Export to excel from MYSQL
- 29. php import large table to phpmyadmin database
- 30. Php MySql RegEx import text
На что Вы смотрели? Существует так много способов приблизиться к этому, вам нужно начинать и видеть, где вы получаете проблему, для кого-то невозможно предложить полное решение. –
Не понимаю, почему вы не импортируете jus один раз –
Привет, Майк, не могли бы вы предоставить мне только один лучший подход, который может сделать это с меньшим количеством запросов и быстрым выполнением @MikeMiller – rishi