Pertanyaan Bagaimana saya bisa mengeksekusi query SQL yang membutuhkan waktu 99,999 detik di MySQL Workbench?


PERBARUI: masalahnya sekarang tetap.


Saya ingin menjalankan kueri yang membutuhkan lebih dari 99,999 detik untuk dieksekusi (mis. SELECT SLEEP(150000);). Untuk mengubah batas waktu di MySQL Workbench, kita harus pergi ke Edit → Preferensi → Editor SQL → Koneksi DBMS baca waktu keluar (dalam detik). Namun, itu DBMS connection read time out bidang hanya menerima hingga 5 angka, dan menyetel bidang ke 0 setara dengan parameter default (600 detik). Jika kueri membutuhkan lebih banyak waktu daripada batas waktu, saya mendapatkan pesan kesalahan: Error Code: 2013. Lost connection to MySQL server during query

Oleh karena itu pertanyaan saya: apakah mungkin untuk meningkatkan batas ini hingga lebih dari 99,999 detik? Saya menggunakan Windows 7 64-bit Ultimate dengan MySQL Workbench 5.2.47 CE.

Itu DBMS connection read time out bidang: enter image description here

Masalah timeout (0 ekuivalen dengan parameter default (600 detik)): enter image description here


8
2018-06-01 21:47


asal


Jawaban:


Mungkin tidak ada yang pernah berpikir Anda akan membutuhkan waktu yang sangat tinggi, jadi Anda terbatas pada apa yang bisa diselesaikan saat ini. Tetapi buka permintaan fitur http://bugs.mysql.com untuk menyarankan apakah memiliki 0 menonaktifkan batas waktu sepenuhnya atau memungkinkan nilai yang lebih besar.


4
2018-06-03 16:39



Nah, di Eropa kami menganggap koma sebagai pemisah desimal. Apakah Anda benar-benar berarti 100k detik? Saya melihat di komentar Anda bahwa Anda menangani 50 GB. Meski begitu, jika Anda membutuhkan lebih dari satu jam, Anda melewatkan Indesinya. Anda harus tahu bahwa mereka tidak akan benar-benar membangun kembali dalam satu permintaan, jadi jika Anda bergabung pada insert besar, Anda mendapatkan produk cartesian dari baris yang dipindai - dengan kata lain, permintaan Anda bisa berjalan selama berminggu-minggu atau bahkan berbulan-bulan.

Larutan:

1) Isi data dasar, gunakan tidak ada gabung di sini. 2) Ubah tabel untuk mengatur indeks. 3) Jalankan "ANALYZE" 4) Lakukan yang lainnya.

Jika Anda merasa bahwa Anda kesulitan mengikuti prosedur itu, tambahkan Permintaan Anda dengan kata kunci MENJELAJAH dan posting hasilnya.

(Saya memiliki cronjob mengimpor sekitar 80GB setiap 30 menit di tempat - MySQL pasti bisa menangani ini.)


1
2018-06-01 22:45



Masalah ini sekarang diselesaikan di MySQL Workbench 6.0.3 (2013-07-09): Lihat laporan bug dan ubah log.


1
2017-11-03 03:20