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'
没有超时。
答案 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秒。