Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengimpor lebih dari 100000 catatan ke dalam database mysql?

Pesan kesalahannya cukup jelas dan menunjukkan kepada Anda apa masalahnya:batasan waktu eksekusi di lingkungan php Anda. Jadi beberapa pendekatan untuk menyelesaikan ini sudah jelas:

  1. tambahkan batas waktu lingkungan Anda

Anda dapat melakukannya dengan menaikkan batas dalam konfigurasi php Anda atau, jika diizinkan, dengan meningkatkannya secara dinamis di dalam skrip impor Anda. Jadi sesuatu seperti ini_set('max_execution_time', 3000) . Kedua opsi didokumentasikan. Dokumentasi php harus selalu jadilah lokasi pertama di mana Anda harus mulai mencari jawaban atas pertanyaan semacam itu.

  1. gunakan lingkungan php yang berbeda

Biasanya batasan tersebut dipilih untuk lingkungan web untuk mengurangi risiko melayani permintaan dari siapa pun di luar sana. Namun tidak ada yang menentang penggunaan konfigurasi berbeda untuk lingkungan lain. Pekerjaan impor biasanya tidak diproses dengan menggunakan permintaan web, tetapi dengan menggunakan php di baris perintah (CLI). Untuk seperti biasanya konfigurasi terpisah digunakan. Sekali lagi, ini didokumentasikan. Itulah yang dapat Anda gunakan di sini untuk mengonfigurasi kedua lingkungan yang berbeda satu sama lain sesuai dengan kebutuhan Anda. Namun untuk ini, Anda memerlukan akses ke php di CLI. Itu bukan masalah pada sistem Anda sendiri, tetapi biasanya tidak tersedia di layanan hosting web murah.

  1. bagi impor Anda menjadi potongan-potongan kecil

Karena data yang Anda impor disimpan dalam file sql, jadi file teks sederhana, Anda dapat menggunakan editor teks biasa untuk memodifikasi file itu. Catatan:editor teks, bukan pengolah kata. Anda dapat membagi INSERT yang besar pernyataan yang terkandung di dalamnya menjadi beberapa bagian. Sintaksnya cukup jelas.

  1. gunakan banyak pernyataan sisipan terpisah, bukan satu pernyataan besar

Bergantung pada alat yang Anda gunakan untuk membuat file dump yang Anda coba impor sekarang, Anda memiliki opsi untuk membuat dump sedemikian rupa sehingga menggunakan banyak INSERT yang terpisah pernyataan (satu untuk setiap baris) alih-alih satu besar, digabungkan. mysqldump misalnya menawarkan --skip-extended-insert bendera untuk ini. Dengan file dump seperti itu, sangat mudah untuk membagi impor menjadi beberapa bagian yang lebih kecil hanya dengan memisahkan file.

  1. melewati php untuk impor sama sekali

Jika Anda memiliki akses langsung ke server database Anda (dalam kasus ini MySQL), maka Anda cukup berinteraksi langsung dengannya daripada menggunakan phpMyAdmin alat peralihan. Anda cukup memuat file dump Anda secara langsung melalui source MySQLs memerintah. Dengan begitu Anda benar-benar independen dari batasan php.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilkan tabel kolom terindeks FULLTEXT

  2. Kueri berparameter dengan beberapa istilah pencarian opsional

  3. Manakah pengkodean karakter terbaik untuk bahasa Jepang untuk tampilan DB, php, dan html?

  4. Menangani Latensi dalam Transaksi MySQL

  5. Dasar-dasar sistem ingat-saya