我有 2 个 mysql 表,包含 500.000 个项目
首先包含商品价格、商品 ID 和票号 第二个包含门票编号、销售日期和门票总价
现在我使用这个查询
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 查询?
谢谢
最佳答案
首先,您需要检查瓶颈在哪里,是在查询上还是在循环上。 如果在查询中,请检查您是否有正确的索引。如果没有,请尝试为 items.crd、items.SeqNbr 和 Ticket.SeqNbr 字段添加索引。
关于mysql - 如何在不使用 php 的情况下仅返回 mysql 查询的值更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27215616/