mysql分表相關,該如何解決
來源:互聯網
上載者:User
mysql分表相關
是這樣的,我一張表有230個欄位(內容並倒是不多,不到2萬條記錄),對網頁瀏覽速度影響太大了,最近考慮分表,
我對分表的理解是:把原本在一個表中的許多個欄位拆分成兩個或兩個以上的表。
但是我看到網上的許多資料,分表不是拆分欄位,而是把表裡的內容分出來。
大伙兒說說我的理解是錯的嗎?
------解決方案--------------------
沙發 幫頂
------解決方案--------------------
其實兩種方法沒衝突的,看實際情況。
如果表裡面的內容可以分類,例如:當天資料,曆史資料,這樣就是根據內容分表。
如果是明確的一對一、一對多結構,可以使用關係型資料來實現。
小弟拙見,勿見怪
------解決方案--------------------
探討
是這樣的,我一張表有230個欄位(內容並倒是不多,不到2萬條記錄),對網頁瀏覽速度影響太大了,最近考慮分表,
我對分表的理解是:把原本在一個表中的許多個欄位拆分成兩個或兩個以上的表。
但是我看到網上的許多資料,分表不是拆分欄位,而是把表裡的內容分出來。
大伙兒說說我的理解是錯的嗎?
------解決方案--------------------
分表一般都是按內容,根據日期,id段。。來分表,業務端的sql語句要做相應改動。
一個表230個欄位。。設計是不是出了嚴重問題?
------解決方案--------------------
1.分表有橫向分(分欄位)的,也有縱向分(分記錄)的,無所謂,需要就行
2.230欄位,2萬多記錄不算大,最好仔細測試分析一下,找到引起問題的具體地方(比如是否是個別sql造成),找到具體原因,做資料庫結構修改也更有方向. 如果還不明確原因,修改之後可能見效不大.
3. 你這樣的資料
我們經常用的結構是:
id modelId attributeId value
1 111 2233 3028
其中( 111->BMW 5系列 520Li , 2233->軸距 )
這樣的方式記錄數較多,但是結構簡單. 而且增加,減少attribute也容易 (這些配置資料很多的,各家廠家提供的也不同,230以後也不一定夠.)
我們公司也有汽車/摩托網站,資料都是用這種方式. 供參考.