鍍金池/ 問答/數(shù)據(jù)庫/ 關(guān)于mysql數(shù)據(jù)冗余,你是怎么想的?

關(guān)于mysql數(shù)據(jù)冗余,你是怎么想的?

mysql如何應(yīng)對(duì)不斷變更的需求?
我舉個(gè)購買商品的例子:下單支付后,給用戶發(fā)紅包;那發(fā)紅包的這個(gè)記錄,你是單獨(dú)存儲(chǔ)一個(gè)表呢,還是存儲(chǔ)到訂單表?
訂單列表要顯示這個(gè)訂單發(fā)了多少紅包,并且還要能根據(jù)紅包金額排序。

過了幾天,產(chǎn)品說下單支付后,給用戶發(fā)金幣, 得記錄發(fā)了多少金幣,還得能按照金幣排序,類似這種變化的產(chǎn)品需求,mysql該如何應(yīng)對(duì);

回答
編輯回答
傲寒

個(gè)人觀點(diǎn):

  1. 一般表只存放對(duì)應(yīng)實(shí)體本身具備的屬性字段,對(duì)應(yīng)例子中,紅包記錄應(yīng)該單獨(dú)存儲(chǔ)一個(gè)表
  2. 有時(shí)需要經(jīng)常查詢或者用于排序的字段可以考慮冗余,對(duì)應(yīng)例子中,紅包金額或許需要考慮在訂單中冗余存儲(chǔ)
  3. 例子中,一個(gè)訂單對(duì)應(yīng)多個(gè)紅包記錄,訂單中關(guān)聯(lián)紅包記錄主鍵的字段或許可以嘗試使用字符類型,存儲(chǔ)一組紅包id。(不確定是否合適)

希望對(duì)你有所幫助,謝謝

2017年5月9日 18:22
編輯回答
傻叼

應(yīng)該分表存放,對(duì)于主表中頻繁使用,或者需要排序的字段,我選擇冗余到主表中

2017年8月31日 15:38
編輯回答
枕邊人

問題1
為了保證未來業(yè)務(wù)可擴(kuò)展性,也可以稱方便擴(kuò)展的目的,當(dāng)然是分表。遵循一種規(guī)則:同業(yè)務(wù)一張表,不同業(yè)務(wù)分開放。當(dāng)分開后,對(duì)排序,匯總當(dāng)然就很簡單了。

問題2
數(shù)據(jù)就放那唄。還能怎么做?不行就備份下刪除掉生產(chǎn)環(huán)境的。

2017年8月23日 11:30