mysql order by操作性能問題


在我的筆記本上,運行如下 sql代碼(總共數據行約7萬行,無索引)

select * from(
SELECT nodeinfo.nodeID nodeid,nodeinfo.niid niid ,nodeinfo.type type ,nodeinfo.testType testtype,sensordatapacket.storedtime storedtime,sensordatapacket.value value,
sensordatapacket.unit unit,sensordatapacket.dataType datatype,nodeconfig.nodeAddress nodename
FROM
nodeinfo
Left Join sensordatapacket ON nodeinfo.nodeID = sensordatapacket.nodeID
Left Join nodeconfig ON nodeconfig.nodeID = nodeinfo.nodeID
where  testtype='待測'  and type='土壤溫度'  order by storedtime desc)  a
group by a.nodeid order by a.storedtime  desc

 

紅字標注部分,使用order by storedtime desc時候 共用時9.284s

  使用order by storedtime asc時候,共用時17.04s

不使用order by操作的時候共用時2.022s。

 

目的時候對每個nodeid,檢索出storedtime最近的一條數據。

若不使用order by 操作,檢索出數據,storedtime時間為中間的一個某個時間。符合E.F.Codd博士在“a relation modal of data for large shared data banks”中提出的

數據庫關系模型 的理論。數據庫的物理存儲並不一定是按照主鍵順序存儲,數據表中的數據本質上是在一個集合中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM