我做了一個測試,看看是否劃分索引大表會提高性能。MySQL:分表後測試性能
原始圖表:20000行。 子表格:4x5000行。
主表分爲4個表,所有表都被索引,在測試中每個sql查詢在一個循環中被執行10000次,以測量更準確的查詢時間。
當我搜索表中的索引列時,我看不到性能上的差異,原始(20000行)表和新(5000行)表的查詢時間相同。
我試着通過刪除所有表的索引來進行相同的測試,並且性能差異很明顯,其中在子表中搜索比在大表中搜索快6倍。但索引的性能是一樣的。
那麼你認爲把我的桌子分成小桌子是浪費時間嗎?
注意:20000大小隻是爲了測試,我的真實數據將是100M或更大的大小。
表結構應該根據應用程序的需求以及邏輯意義來確定。尤其是在20,000張已經很小的記錄表上。 (行大小的限制是65,535字節,所以即使你認爲數據大小不是那麼多) – 2013-02-04 17:22:26
這是浪費時間! – newtover
樣本表是用於測試的,實際數據會比這個大得多。 – DeepBlue