簡體   English   中英

MySQL表相互之間是否有性能影響?

[英]Do MySQL tables have a performance effect on each other?

我將有幾個大表,我只打算插入新行。 我還將要使用一張小表進行身份驗證。 我的問題是那些大表會對這個小表產生性能影響嗎? 還是表的性能彼此獨立?

謝謝。

如果要在這些表之間創建聯接或在查詢中使用聯接,則會對性能造成影響。 否則,如果我是正確的話,單個表不應影響在MySQL中其他表上執行語句的性能。

為了有可能在大型表中聯接或引用列,應使用外鍵約束為表建立索引。

我認為表之間的性能並沒有真正的獨立性。 術語性能與數據庫進程和服務器的工作有關

舉個例子,如果您有2個獨立的進程同時工作。 一個人在大桌子上工作繁重,而另一個人在小桌子上工作很少。 繁重的一項可能幾乎消耗您的服務器資源(CPU,磁盤等vv ..),並導致一小段超時。 因此,如果他們一起工作,它們仍然會彼此影響

當然,如果您的流程按順序在單獨的表上工作,它們不會互相影響

表格本身沒有性能。 無論桌子是大是小,它本身都不做任何事情。

您實際上是在問對這些表的查詢是否相互影響。

是的,他們有。 給定服務器上運行查詢的能力是有限的。 您有固定數量的CPU內核,並且有一定數量的物理RAM存儲內存中的緩存頁面,並且在繁忙的系統上磁盤I / O可能會飽和。

服務器運行查詢的限制與表的大小無關。 您可以對大表運行快速查詢,並且可以對小表運行非常昂貴的查詢。

它更多地取決於您同時運行的查詢數量,以及查詢的復雜程度和資源密集程度。 但是,是的,查詢肯定會相互影響,因為它們相互競爭以使用系統資源,主要是CPU,RAM和磁盤帶寬。

這就是為什么重要的是通過添加索引或緩存查詢結果來優化查詢,甚至更改SQL代碼以提高查詢邏輯的效率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM