Php 从存储MYSQL性能中获取最后一条记录
我想知道你们能否帮我解决MYSQL中的查询问题。 我有一个销售表,一个现金箱表和一个商店表,我需要得到每个商店的最后一次销售 Sales ----- #ID Sale //UNIQUE RANDOM IDENTIFIER NOT SEQUENTIAL #FK Cashbox Date Amount Cashbox ------- #ID Cashbox FK Store Number Store ------- #ID Store Name //固定打字错误 //说明Php 从存储MYSQL性能中获取最后一条记录,php,mysql,sql,Php,Mysql,Sql,我想知道你们能否帮我解决MYSQL中的查询问题。 我有一个销售表,一个现金箱表和一个商店表,我需要得到每个商店的最后一次销售 Sales ----- #ID Sale //UNIQUE RANDOM IDENTIFIER NOT SEQUENTIAL #FK Cashbox Date Amount Cashbox ------- #ID Cashbox FK Store Number Store ------- #ID Store Name //固定打字错误 //说明 ID select_
ID select_type table type possible_keys key key_len ref rows extra
1 SIMPLE t index PRIMARY,id_store PRIMARY 4 (null) 443 Using where; Using temporary; Using filesort
1 SIMPLE c ref FK_id_cashbox,FK_id_store FK_id_tienda 4 pb.t.id_store 1 Using index
1 SIMPLE v ref id_cashbox id_cashbox 4 pb.c.id_cashbox 2011
我尝试过不同的连接顺序,这是一个运行更快的连接顺序,我想知道您是否可以帮助我解决性能问题,或者是否有更好的方法来解决
SELECT st.name,MAX(s.date) as date
FROM store st
JOIN cashbox c ON c.id_store = st.id_store
JOIN sales s ON c.id_cashbox = s.id_cashbox
GROUP BY st.id_store
ORDER BY date DESC;
您的销售联接工作不正常您仍然可以删除最后一个联接,在该联接中,您可能应该检查哪些字段具有索引。您是否运行了
EXPLAIN
?如果你没有这样做并发布结果。