SELECT *
FROM dbo.mmImportOrderDtl iod
JOIN dbo.mmImportOrderHdr ioh ON iod.ummImportOrderHdrId=ioh.ummImportOrderHdrId AND iod.bUse=1 AND ioh.bUse=1
JOIN dbo.mesColour c ON c.uColourId=iod.uColourId
where ioh.sOrderNo='422576-5656'
使用以上者條陳述句查詢速度很快,不到1S
SELECT c.sColourCNName
FROM dbo.mmImportOrderDtl iod
JOIN dbo.mmImportOrderHdr ioh ON iod.ummImportOrderHdrId=ioh.ummImportOrderHdrId AND iod.bUse=1 AND ioh.bUse=1
JOIN dbo.mesColour c ON c.uColourId=iod.uColourId
where ioh.sOrderNo='422576-5656'
同樣的只是輸出的欄位減少為一個了,查詢速度倒是變成34S
求大神指點,從來沒有遇到過這種情況,資料表中只有主鍵有索引,其他什么都沒有做
uj5u.com熱心網友回復:
sColourCNName欄位加索引了嗎uj5u.com熱心網友回復:
加了索引,效果還是一樣的uj5u.com熱心網友回復:
剛剛又做了其他的測驗,發現只要是跟dbo.mesColour 這張表有關聯的查詢都很慢,都是與這張表的主鍵ID進行關聯查詢,這個是什么問題,之前一直都是正常的,就最近幾天發生的,中間也沒有對這張表做什么操作uj5u.com熱心網友回復:
如果是把dbo.mesColour 這張表現插入臨時表,然后通過臨時表去關聯,資料查詢速度正常,求解
uj5u.com熱心網友回復:
最好的方式是把 執行 計劃,打出來看看uj5u.com熱心網友回復:
你optimize table mesColour 這個命令試一下,你弄到臨時表很快,而關聯這個表很慢,估計是表碎片太多導致的uj5u.com熱心網友回復:
建議加索引看看uj5u.com熱心網友回復:
mysql可以進行跨服務器多表關聯查詢嗎?192.168.0.1服務器用戶表有1000萬條資料
192.168.0.2服務器用戶表也有1000萬條資料
我想通過sql陳述句把兩個表連接起來,這豈不就是相當于分布式資料庫了嗎?
請問有沒有這樣的sql陳述句?
uj5u.com熱心網友回復:
是不是你這個欄位和別的欄位有聯合索引。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/76696.html
標籤:MySQL
