2015-10-23 17 views
6

tôi cần nhập vào cơ sở dữ liệu tệp csv với 20 triệu hàng và 2 cột, nhưng khi tôi cố gắng làm điều này với trình hướng dẫn nhập dữ liệu của bàn làm việc mysql cực kỳ chậm, có thể là sẽ mất 1 tháng để hoàn thành, nhìn vào thanh tiến trình. Phải có một số cách nhanh hơn để làm điều này, tôi hy vọng. Cảm ơn bạn rất nhiềuTrình hướng dẫn nhập dữ liệu bảng bàn làm việc của MySQL cực kỳ chậm

+0

Tôi đã viết [Câu trả lời này] (http://stackoverflow.com/a/32702768) cho một fella. Mất 8 giờ nhập khẩu của mình xuống một phút hoặc lâu hơn. Có vẻ cực đoan, nhưng đó là những gì anh ta nói. – Drew

Trả lời

9

Luôn sử dụng Load Data Infile làm nỗ lực đầu tiên cho tập dữ liệu khổng lồ.

Trang hướng dẫn sử dụng Mysql trên Load Data Infile.

Đã viết một số câu trả lời cho câu hỏi này, nhưng để so sánh ngang hàng, hãy xem câu hỏi của anh chàng này và Answer và so sánh thời gian của Workbench và Tải dữ liệu Infile.

+4

Nếu điều này giúp bất kỳ ai, tôi vẫn sử dụng trình hướng dẫn nhập trên hàng dữ liệu đầu tiên vì nó có trình hướng dẫn thích hợp để tạo bảng từ csv. Sau đó, sử dụng lệnh 'Tải dữ liệu Infile' để điền bảng. Một phương pháp lai tốt đẹp của nó. Đó là một sự xấu hổ thực sự giao diện người dùng không hoạt động theo cách này dưới mui xe. Vì nó được mã hóa ngay bây giờ, nó khá vô giá trị như một số lượng lớn nhập khẩu. – raider33

+0

Cảm ơn @ raider33 vì đã chia sẻ – Drew

3

Đây là giải pháp thay thế. Dump dữ liệu CSV của bạn vào tập lệnh sql, bạn cần phải viết một số mã cho điều này. Về cơ bản, dữ liệu csv của bạn sẽ được chuyển đổi thành tương tự như dưới đây lệnh
INSERT INTO TABLE_NAME values(1,2),(1,3),....;
hiện nay sử dụng shell script MySQL và sử dụng SOURCE lệnh
mysql> nguồn C: scripts/Users/Desktop/sql/script.sql
dữ liệu của bạn sẽ được nhập nhanh hơn so với nhập CSV trực tiếp cho hàng triệu bản ghi.

3

Nếu bạn không muốn viết mã, tôi khuyên bạn nên thử một ứng dụng khách GUI miễn phí khác như HeidiSQL. Nó nhập khẩu các tập tin CSV/văn bản nhanh hơn nhiều so với MySQL Workbench.

1

Tôi gặp vấn đề tương tự với bàn làm việc MySQL. Cách thay thế tôi tìm thấy là Toad cho MySQL (https://www.toadworld.com/m/freeware/1469)

Tôi sẽ mất 40 phút thông qua quản trị viên MySQL, kết nối với máy chủ MySQL từ xa. Trên máy chủ MySQL, quá trình tải lên mất vài phút. Với con cóc tôi có thể kết nối với máy chủ từ xa và tải lên trong vài phút. Tôi đã cố gắng HeidiSQL, nhưng không tìm thấy nó là thân thiện để nhập khẩu.

Các vấn đề liên quan