Php Mysql在xampp上意外停止
我有生产软件,每个表的行数超过50K。它在插入和值检索方面执行缓慢。表已包含索引。我的Ram是14GB,带有氙气处理器Php Mysql在xampp上意外停止,php,mysql,performance,xampp,innodb,Php,Mysql,Performance,Xampp,Innodb,我有生产软件,每个表的行数超过50K。它在插入和值检索方面执行缓慢。表已包含索引。我的Ram是14GB,带有氙气处理器 如果我从my.ini文件中增加innodb\u buffer\u poll\u size3G或更大,那么mysql会意外停止。问题是什么。我现在能做什么?不要使用mysql_*接口 SELECT Line FROM sewing_effi WHERE DT='$dt' ORDER BY
如果我从my.ini文件中增加
innodb\u buffer\u poll\u size
3G或更大,那么mysql会意外停止。问题是什么。我现在能做什么?不要使用mysql_*接口强>
SELECT Line
FROM sewing_effi
WHERE DT='$dt'
ORDER BY Line ASC"
DT
的数据类型是什么?(请提供显示创建表
)
假设DT
是一个DATE
,那么您需要索引(DT,Line)
来提高效率
为此:
SELECT buyer.Buyer,ordr.ordr,ordr.Ship_Date,colour.Colour,sewing_effi.OP,
sewing_effi.HEL,sewing_effi.Target,sewing_effi.TWH,sewing_effi.Line,
sid_cutting_inventory.DT,
SUM(cutting_inventory.qc_pass) AS Input,
SUM(sewing_output.QC_Pass) AS Toutput, SUM(sewing_output.Recieved) AS Recv
FROM cutting_inventory
INNER JOIN sid_cutting_inventory
ON cutting_inventory.SID=sid_cutting_inventory.SID
LEFT JOIN buyer ON cutting_inventory.Buyer=buyer.CBuyer
LEFT JOIN ordr ON cutting_inventory.Buyer=ordr.CBuyer
AND cutting_inventory.Ordr=ordr.COrdr
INNER JOIN colour ON cutting_inventory.Buyer=colour.CBuyer
AND cutting_inventory.Ordr=colour.COrdr
AND cutting_inventory.Colour=colour.CColour
LEFT JOIN sewing_output ON sewing_output.Barcode=cutting_inventory.Barcode
JOIN sewing_effi ON sewing_effi.Line=sid_cutting_inventory.Line
WHERE sewing_effi.Line ='$li'
AND sewing_effi.DT='$dt'
AND ordr.Ship_Status='0'
AND sid_cutting_inventory.Challan_Close_SS='0'
AND sid_cutting_inventory.DT NOT BETWEEN '2017-01-31 7:00:00'
AND '2018-03-31 23:00:00'
GROUP BY sewing_effi.Line, buyer.Buyer, ordr.ordr,colour.Colour
ORDER BY sewing_effi.Line"
)
我发现将左连接
和内连接
混合在一起非常混乱。请提供解释选择…
我会做一些猜测
sewing_effi: INDEX(Line, DT) -- in either order
sid_cutting_inventory: INDEX(Challan_Close_SS, DT) -- in this order
您是否安装了32位或64位版本的MySQL?安装了32位版本的MySQL。我附上了一些表的快照并进行了解释。我想您很容易发现我的问题。 *Challan_接收_SSD和Challan_关闭_SSD列存储日期
*Challan_Receive_SST和Challan_Close_SST列存储时间查看错误日志。服务器不会在没有记录的情况下停止。你能建议我如何加快输入速度和报告显示,大约有15个用户使用条形码输入。那么,真正的问题是什么?如何加快查询速度?然后查看慢速查询日志,或者使用执行计划检查长时间运行的查询。或者是您的服务器不时随机崩溃的问题(如您所问)?然后查看日志,找出原因我有一个生产软件。如果行增加50K,则减慢值插入和值检索速度。大约有15个用户提供输入。至少有30个用户连续显示报告。它安装在vmware上。因此我将innodb_buffer_poll_大小从16M增加到2G。因为有时mysqld.exe服务使用率100%cpu。所以我想增加innodb_buffer_poll_大小。但是如果我将其增加到2G以上,那么mysql就会崩溃。我的主要问题是输入和报告显示的速度问题。你有没有尝试过我建议的任何方法,比如缓慢的查询日志、执行计划或错误日志?