在具有多個表的MySQL數據庫中,是否受同一數據庫中所有其他表的大小影響的表上的查詢運行時間?受其他表大小影響的表的MySQL速度?
回答
我只能想到其他表可能會對查詢產生兩種影響,假設這些表未包含在查詢中,沒有其他查詢正在運行,並且沒有鏈接表的約束或觸發器。
第一個效果是在編譯階段。在此階段,SQL解析器從元數據表中獲取有關表和列的信息。數據庫中的更多表和列可能會減慢查詢的編譯速度。
其他影響是頁表和磁盤碎片。如果你有一個乾淨的系統並開始分配和填充頁面,那麼頁面可能會填充磁盤上的連續頁面(不保證,但可能)。在訪問時,操作系統可能預先獲取與請求頁面相鄰的物理頁面。在我描述的環境中,這個預取數據可能會用在查詢中。
在具有多個表的數據庫中,磁盤碎片的可能性大得多。在這種情況下,預取硬件頁面不太可能用於查詢中的相同表格。這意味着它們沒有被使用,所以需要額外的I/O請求來獲得下一頁。
我已經在磁盤碎片方面描述了這一點,但頁面本身可能會發生類似的情況。存儲表格數據的物理頁面可能不是連續的,具有相似的結果。
碎片可能是數據庫的問題。事實上,無論數據庫中有多少表,它都可能成爲問題。但是更多的表格具有更多的插入/刪除活動往往會增加碎片。但是,這些影響通常很小,只會在某些極端情況下導致性能顯着下降。
磁盤碎片和I/O緩存問題更多地關聯到相同的服務器,而不是相同的數據庫,但他們仍應該考慮。不確定同一服務器上的不同數據庫是否會在查詢編譯和規劃時影響性能。 – Vatev 2012-07-28 00:58:10
有許多表(和數據)只需要一個硬盤空間。
處理速度取決於您執行的表優化和大小+查詢,而不是整個數據庫。
查詢運行時可能會受到各種服務器環境問題的影響,因此,雖然可以說在數據庫中具有其他大型表並不會影響無關表上查詢的速度,實際情況是,這些表格可能也會被查詢並消耗服務器資源。這當然會影響您的查詢速度。
它應該只是一個問題,如果該表(大)與其他表與一些連接(外鍵約束將是一個例子)相關...否則你的表應該獨立行爲。也就是說,如果你有一張表如此龐大以至於造成速度問題,那麼你可能需要找到其他解決方案來將一些數據重構爲更小的子集。
- 1. MySQL寫入是否受到表大小的影響?
- 2. HTML:div不受影像大小的影響
- 3. 如何從mysql刪除pma表而不影響其他表
- 4. AS3:影響速度的鼠標速度
- 5. 表大小是否影響INSERT性能?
- 6. 做大XML文件影響速度?
- 7. 影響其他對象列表的對象列表
- 8. mysql:將插入到臨時表中的受影響的行
- 9. Rails - 表格列的寬度受選擇框的影響
- 10. Cookie大小是否會影響加載速度? (PHP)
- 11. 固定字體大小不受放大或縮小影響
- 12. UIWebView:表格寬度會影響文字大小
- 13. 應用程序大小是否影響啓動速度和內存大小
- 14. 對於從MySQL中提取大型表的子集,索引,表順序如何影響查詢速度?
- 15. CoreData獲取速度受NSPredicate中參數數量的影響?
- 16. 記錄受MySQL中表鎖影響的查詢
- 17. 在vb.net winform中調整control.size寬度設計器的大小,但是此操作影響其他控件大小
- 18. Laravel 5:受影響的行的MySQL
- 19. MySQL的搜索受影響的行
- 20. 異常的生命週期是否受其他異常影響?
- 21. C++,受到scanf語句影響的其他變量
- 22. 調整表格中的textarea影響其他TR的邊距
- 23. MySQL的row_count()行受到影響
- 24. 文本節點的大小是否會影響DOM遍歷的速度?
- 25. 大PermGen的大小+性能的影響
- 26. Html頁面大小和響應速度
- 27. 一個我不想受到CSS影響的圖像正在受其影響
- 28. 如何確保Flex項目受其子項寬度的影響?
- 29. 受圖像大小影響的EmguCV形狀檢測
- 30. 排序結果受varchar列的長度影響mysql
其受插入和更新的同一表的大小的影響。但其他桌子?我不確定。只有插入,更新,選擇使用「其他表」我猜 – nawfal 2012-07-27 21:12:17