私は2つのテーブルを持っていますproducts
。salesRecords
私はこのクエリを使用しています:
SELECT
DAY(FROM_UNIXTIME(saleDate)) as day,
MONTH(FROM_UNIXTIME(saleDate)) as mnth,
YEAR(FROM_UNIXTIME(saleDate)) as yr,
COUNT(id) as invCount, SUM(quantity) as qty
FROM salesRecords WHERE itemNo IN
(SELECT GROUP_CONCAT(convert(id, CHAR(8))) as ids FROM products WHERE brand =100 GROUP by brand)
GROUP BY
mnth, yr
ORDER BY saleDate
products テーブルには、製品について知る必要があるすべてが含まれており、salesRecords には、saleDate、販売数量、割引などの詳細が含まれているため、ここで達成しようとしているのは、ブランド ID を持つすべての製品の売上のリストです100
。 「saleDate」と呼ばれる Unix Time フィールドの月と年
動作しますが、非常に遅いです。
誰でもこれを行うためのより速い方法をアドバイスできますか?
ID のリストを手動でクエリに挿入すると、より高速に動作するように見えますが、2 つのクエリを実行する必要がありますか?