2014-02-09 36 views
0

哪個用於快速獲取結果?哪個用於更快獲取結果?

單柱數據從一個單個表 400個表或400列?

+0

接受這兩種解決方案的任務是什麼?最初的解決方案應該遵循最佳設計實踐,而不是一些與性能相關的妄想 – zerkms

+2

最有可能的是單個表,但它有什麼關係?有什麼理智的人會故意設計他們的數據庫,以便當他們可以訪問一個查詢時需要訪問400個表格? –

回答

0

來自一個表的400個結果肯定比每個400個表的結果快。想想需要輸入紐約電話簿中的前400個電話號碼。因此,您決定從電話簿A中讀取第一個號碼,從電話簿B中讀取第二個號碼,並從第400個電話簿中讀取最後一個號碼。從第一個電話簿中順序讀取它們會更快(AKA從一開始就適當地構建您的表格)。

這是一個很大的問題,它會回來,咬許多程序員。在深入研究之前,重要的是要戰略性地組織數據表的結構和佈局。

0

我不太確定,但我想從單個表中的400列將更快!

原因是:

指針具有從每個數據塊(表)移動並搜索column.This有400個表來完成。

但是HIT在單個表中的400列的水平將會高得多。

0

我不完全相信你所說的「400個表列,其數據」的意思,但在這裏就是我的回答:

如果你的意思是「它更快加載有一列400行或1行400列「,我想說根據this blogpost中的結果加載後者會更快。 這就是說, 400行聽起來像一個維修噩夢,我懷疑這是值得的權衡。也許你可以發佈更多的細節,我們可以給你更好的答案?

2

根據我的知識從單個表中獲取數據會更快。如果您從單個表中獲取數據,則不需要指定任何連接條件。

如果你有,你想獲取從單個列數據的任何情況下,你可以使用SQL Server 2012的

ColumnStoreIndex功能,但我不知道這類型的索引可以在MySQL或不。

基本上我在這裏發佈了MS SQL服務器的概念。我對MySQL沒有太多的想法。