大家好我有這樣的問題。 我已經下載並激活了我的筆記本電腦上的Mysql,這是一個普通的筆記本電腦,然後我使用GUI,我正在學習如何使用Mysql。 我其實是在一開始,所以現在我正在導入表格(採用csv格式),並試圖在我們的ms access中運行相同的查詢。 關鍵是,一方的Mysql似乎保留了任何類型的表維度,但另一方面卻極其緩慢。其實這麼慢我相信我一定會做錯事。 我有兩個表,其中每一個1400000行和70列:如果我對他們每個運行基本查詢(例如選擇字段A1是'23「的所有行),然後沒有問題 但如果我運行在兩個表之間有一個(內部?)連接的查詢,那麼這是一場災難。 我在6小時前開始處理這樣的查詢,它仍然會......同樣的查詢在ms訪問中花了15秒。我敢肯定,我一定是失去了一些東西 操作系統是Ubuntu的12.10,圖形用戶界面是Navicat的11 謝謝我的筆記本電腦上的Mysql查詢速度極其緩慢
-1
A
回答
1
的MySQL基本上只支持兩種連接算法。 - 索引搜索和嵌套循環嵌套的循環基本手段MySQL從第一張表中讀取一行,然後從第二張表中讀取所有行,然後再讀取一行第一個表中的w和第二個表中的所有行。等等。 (實際上,該算法確實阻止了讀取,所以它不是那麼糟糕,但你明白了。)
當你有大表時,嵌套循環是一個相當差的選擇。其他數據庫支持散列連接算法和合並連接算法等,但這些不是一種選擇。
我猜你的兩張桌子太大,不適合記憶。這會導致最差的性能,因爲SQL引擎必須從第一個表中的每行(或一批行)讀取磁盤上的所有記錄。
您可以通過在列上構建索引來解決此問題。這應該會大大提高性能。
您也可以調查內存參數。該文檔是here。確保你正在爲sql引擎分配足夠的內存。
相關問題
- 1. mysql查詢查詢速度緩慢
- 2. 執行極其緩慢MySQL查詢
- 3. mysql子查詢極其緩慢
- 4. 查詢速度極慢
- 5. 適用於Android的筆記本電腦/筆記本電腦
- 6. 檢查我的筆記本電腦上的C++版本
- 7. 爲什麼我的筆記本電腦
- 8. 從Jupyter筆記本電腦上的Windows
- 9. 兩臺GPU的筆記本電腦上的硬件加速BufferedImage
- 10. 爲超極本和筆記本電腦的混合
- 11. MySQL複製筆記本電腦
- 12. OrientDB:Gremlin計數查詢極其緩慢
- 13. 用VB.NET檢查我的筆記本電腦電池壽命
- 14. Mysql的子查詢極其緩慢(似乎不使用索引)
- 15. 平板電腦上的不同視圖比筆記本電腦
- 16. mysql的慢查詢日誌記錄是查詢速度更快
- 17. 我如何查看我的iPhone上的本地筆記本電腦網站
- 18. 從筆記本電腦
- 19. 基本但極其緩慢
- 20. 使用mediaDevices.getUserMedia在筆記本電腦上
- 21. 從java監控筆記本電腦或筆記本電腦電源
- 22. 從我的筆記本電腦連接到MySQL從Raspberry pi
- 23. 爲什麼在我的電腦上運動速度慢?
- 24. 在Innodb中選擇並更新查詢速度極其緩慢Innodb
- 25. InnoDB在VARCHAR列上的SELECT查詢極其緩慢
- 26. IPython的筆記本電腦連接到外部的筆記本
- 27. MySQL的速度異常慢的查詢
- 28. MySQL的WHERE NOT IN極其緩慢
- 29. 在筆記本電腦和主電腦上同步我的工作?
- 30. 我的筆記本電腦上的Hadoop多節點
您可以發佈您的數據樣本和您正在使用的查詢嗎?這聽起來像你的查詢可能有問題。 您也可以在查詢之前使用EXPLAIN查看可能出錯的位置。 – 79IT
在說明中加上Explain作爲查詢的前綴選擇*從表中,它會告訴你mysql如何處理查詢。將輸出添加到您的問題。你已經在mysql中添加了主鍵和索引? –
接下來是查詢,GUI告訴我查詢正在處理。我的表沒有索引,我認爲沒有主鍵(沒有字段選作主鍵)謝謝;這些字段是varchar,除了兩個是date;查詢:[SQL] SELECT 'CCA 1'.'RAPPORTI TIPO INFO 1'.A03, 'CCA 1'.RAPPORTI TIPO INFO 2'.A03 FROM 'CCA 1'.RAPTIFI INFO 1' INNER JOIN'CCA 1'''RAPPORTITIO INFO 2' ON'CCA 1'.'RAPPORTIIPO INFO 1'.A03 ='CCA 1'.RAPPORTIIPO INFO 2'.A03 – user1951561