我用Temp表为Codeigniter编写了一个查询。它返回近25000行。
但是,当我在实时服务器上使用此查询时,它将失去数据库连接。
这是我的查询:
SELECT temp.id office_id,
temp.office_name,
temp.svcic,
count(service_transaction.service_id) AS service_total
FROM (SELECT users.id, users.office_name, service_list.id svcic
FROM users,service_list
WHERE users.del_status = 0
AND users.type='agency'
AND service_list.del_status = 0
AND users.id != '-1' ) temp
LEFT JOIN service ON temp.id = service.office_id
AND service.del_status=0
AND (service.date
BETWEEN '2017-07-26'
AND '2017-08-26' )
LEFT JOIN service_transaction ON service_transaction.service_id = temp.svcic
AND service_transaction.service_transaction_id=service.id
LEFT JOIN recipient ON recipient.id =service.recipient_number
AND recipient.gender != 'all'
GROUP BY temp.id,
temp.office_name,
temp.svcic
ORDER BY temp.office_name
如何不使用temp简化查询。我相信这是在Temp表上发生的。
最佳答案
根据我的理解,原因之一可能是
可以将innodb_buffer_pool_size设置为大于服务器上可用的RAM大小。解决方法可能是使用innodb_buffer_pool_size的正确设置更新my.cnf。
关于mysql - 失去与MYSQL的连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45898620/