如何设置MySQL超时更长?

时间:2015-12-30 05:02:02

标签: php mysql sql

SELECT nama_pabrik,
       kode_barang,
       nama_barang,
       bacth,
       tanggal,
       ((max(stok)-sum(masuk))+sum(keluar)) AS stok_awal,
       sum(masuk),
       sum(keluar),
       no_faktur,
       in_out,
       satuan.nama_satuan,
       max(stok),
       alamat_pelanggan,
       alamat_supplier
FROM kartu_barang
INNER JOIN barang ON kartu_barang.id_barang = barang.id_barang
INNER JOIN satuan ON barang.id_satuan = satuan.id_satuan
LEFT JOIN pelanggan ON kartu_barang.in_out = pelanggan.nama_pelanggan
LEFT JOIN supplier ON kartu_barang.in_out = supplier.nama_supplier
LEFT JOIN pabrik ON barang.id_pabrik = pabrik.id_pabrik
WHERE month(tanggal)<= '10'
  AND month(tanggal)>= '12'
GROUP BY kartu_barang.id_barang
ORDER BY nama_barang,
         id_kartu,
         tanggal

我有像这样的sql.it返回3000个数据。但是这需要很长时间和超时。但是如果我改变法则在一个月内没有三个mont WHERE month(tanggal)== '10'没有超时。

2 个答案:

答案 0 :(得分:5)

您可以在mysql.connect_timeout = 14400行的php.ini中增加它。同时增加default_socket_timeout = 14400

注意: - 如果您的PHP设置允许您执行ini_set,您还可以执行以下操作: -

ini_set('mysql.connect_timeout', 14400);
ini_set('default_socket_timeout', 14400);

答案 1 :(得分:3)

如果您在php脚本中使用此sql,则在脚本顶部添加此行

ini_set('max_execution_time', 0);

它将克服脚本的最长执行时间限制,默认为30秒。