2016-06-08 75 views
0

我想了解在模式中查找某個表的時間複雜度。 是O(n)MySQL - 在模式中查找表的時間複雜度

例如:

SELECT * FROM users 

我不知道什麼是查找表用戶,選擇它的數據之前的時間複雜度。

我問這是因爲我目前有一些瘋狂的多餘的表格,我想了解是否從擺脫不必要的表格中獲益,以及如果我將享受速度提升,如果它們將被丟棄。 50+千張桌子。

回答

0

數據庫的元數據基本上存儲在SQL表中。這些表格已正確索引以便快速檢索。

查找特定表的開銷很大。但是,擁有數百或數千個附加表可能不會對編譯查詢產生顯着影響 - 因爲基礎表應該非常高效。

當然,可能會有特定的實例特定問題。例如,在嚴重的內存有限的環境中,元數據可能會「擠出」表中的數據,這會影響性能。但是,這與你的問題不同。

清理數據庫有很好的理由 - 可維護性是最重要的 - 以及使用數據庫的人的可用性。如果你只有幾百張桌子,那麼表演不是其中一個原因。