Rumah  >  Soal Jawab  >  teks badan

Bagaimanakah saya boleh melaraskan tamat masa untuk pertanyaan MySQL yang dijalankan oleh PowerShell untuk membolehkan lebih daripada 30 saat dijalankan?

Saya mempunyai pertanyaan MySQL SELECT yang mengambil masa beberapa minit apabila dijalankan dalam SQLyog (GUI yang saya gunakan). Apabila saya cuba menjalankan pertanyaan yang sama melalui PowerShell (menggunakan SimplySQL) ia sentiasa gagal pada 30 saat. Saya tidak pasti pembolehubah tamat masa yang mengehadkan saya, atau jika terdapat tetapan lain dalam persekitaran PS saya yang mempunyai tamat masa 30 saat. Saya telah menetapkan nilai tamat masa ini dalam fail my.cnf pelayan MySQL Linux dan memulakan semula MySQL. Tetapi tiada kejayaan:

net_read_timeout=600
mysqlx_read_timeout=600
mysqlx_connect_timeout=600

Saya telah mencari MySQL dan nilai tamat masa di Google, tetapi tidak menemui jawapan. Jadi dua soalan saya ialah: apakah pembolehubah lain yang dipanggil tamat masa 30 saat yang boleh saya tolak, atau adakah terdapat cara lain untuk mengetahui perbezaan antara cara pertanyaan dijalankan dalam alat interaktif saya berbanding cara ia berjalan dalam perbezaan sesi PS? (Nota: Saya tidak dapat mempercepatkan pertanyaan untuk sentiasa selesai dalam masa 30 saat)

Apabila saya menjalankan PS saya, saya hanya perlukan:

Open-MySQLConnection -ConnectionString ...
Invoke-SqlQuery -Query ...
Invoke-SqlQuery -Query "SHOW VARIABLES LIKE '%timeout%'"

(Barisan terakhir menunjukkan bahawa saya telah berjaya mengatasi mana-mana pembolehubah MySQL bernama "tamat masa".)

P粉803444331P粉803444331427 hari yang lalu648

membalas semua(1)saya akan balas

  • P粉652495194

    P粉6524951942023-09-11 10:54:28

    PowerShell menggunakan kelas sambungan .Net di belakang tabir untuk mencapai ini, dan objek ini memerlukan rentetan sambungan. Rentetan sambungan biasanya dibenarkan mengandungi tamat masa untuk sambungan. Tetapan tamat masa yang tepat bergantung pada pemacu khusus yang anda gunakan, dan malangnya ia tidak didokumenkan dengan baik di Connectionstrings.com, tetapi berikut ialah contoh:

    Connect Timeout=600

    Jika tidak, anda mungkin boleh menetapkan sifat tamat masa pada objek sambungan itu sendiri... tetapi kami perlu melihat kod sambungan PowerShell untuk mengetahui dengan tepat rupanya.

    Ada kemungkinan juga kod PowerShell menyerahkannya kepada sumber data ODBC, di mana rentetan sambungan adalah seperti DSN=MyDataSource. Dalam kes ini, anda perlu melihat konfigurasi sumber data.

    balas
    0
  • Batalbalas