我在使用mysql上的大型表時遇到問題。大型表上的Mysql性能問題
我有超過2.5百萬的數據表。這是我的問題。
select count(*) from location
where tagCode=24345
and xLocation >=81 and xLocation <=264
and yLocation >=356 and yLocation <=484
and locationDate >= '2017-03-08 00:00:01' and locationDate <= '2017-03-08 11:54:01';
我想獲得該查詢計數的數量。但它的行數超過1秒。這導致了問題。
我在表中添加了索引。
ALTER TABLE位置ADD INDEX(tagCode,xLocation,yLocation, locationDate);
如何提高性能?
'EXPLAIN'對此查詢有何說法?使用'BETWEEN'是否有幫助? – tadman
您的查詢和索引對我來說看起來是最優的。如果其他列(例如locationDate)上的一個具有較低的基數然後標記代碼,則可以相應地重新排列索引。 – Strawberry
單獨在數據庫上執行時行爲是否一致? – chris85