在不使用php的情况下,如何从mysql查询中更改仅返回值?

在不使用php的情况下,如何从mysql查询中更改仅返回值?,mysql,Mysql,我有两个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 =

我有两个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]]
目标是获得一个包含价格变化和日期的数组,以构建价格波动图表

但有超过50万条记录,速度非常慢(15秒)

是否有可能构建返回相同数组的mysql查询


谢谢

首先,您需要在查询或循环中检查瓶颈在哪里。
如果在查询中,请检查是否有正确的索引。如果没有,请尝试为字段items.crd、items.SeqNbr和ticket.SeqNbr添加索引。

使用EXPLAIN查看瓶颈在哪里。还要确保条件所在的所有字段都设置了相应的索引。