我有2个包含500.000项的mysql表
首先是商品价格,商品ID和票号 第二个是ticket_number,销售日期和票证的total_price
现在我使用此查询
SELECT items.pri,ticket.date,items.crd,items.plu
FROM items ,ticket
WHERE
(items.crd = 25 OR items.crd = 30) AND items.SeqNbr = ticket.SeqNbr
然后在php:
$val_1 = array();
$price1 = 0;
while($row = mysql_fetch_array($query))
{
if($row['crd'] == 25)
{
$prix = $row['pri'];
if($prix != $price1)
{
$val_1[] = array( (int)$row['date']*1000,(float)$row['pri']);
$price1 = $prix;
}
}
}
返回:
[[1388552879000,1.519],[1389136505000,1.498],[1392420222000,1.514],[1394667334000,1.499],[1395373887000,1.478],[1395963467000,1.499],[1396649284000,1.52],[1397513210000,1.542],[1398384245000,1.556],[1399347974000,1.536],[1400910286000,1.553],[1403216692000,1.58],[1405029076000,1.563]]
目标是获得价格变化和日期的数组,以建立价格波动图表。
但是有超过500,000条记录,这是极其缓慢的(15秒)
有没有可能构建返回相同数组的mysql查询?
由于
答案 0 :(得分:0)
首先,您需要检查瓶颈,查询或循环的位置。 如果它在查询上,请检查您是否具有正确的索引。如果没有,请尝试为字段items.crd,items.SeqNbr和ticket.SeqNbr添加索引。