亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在數據庫中使用調整大小的列或拆分表

在數據庫中使用調整大小的列或拆分表

PHP
慕標琳琳 2023-07-08 16:41:34
我想在MySql數據庫中存儲以下數據(通知數據):id: VARCHAR(10)from_id: VARCHAR(10)to_id: VARCHAR(10)類型:int(2)type_info:(本專欄的問題)日期:時間戳知道該列type_info根據列的內容確定其內容,type我有4種情況:如果 type = 1 type_info 將為空如果類型 = 2 類型信息 = id1如果類型 = 3 type_info = id1/id2如果類型 = 4 type_info = id1/id2/id3筆記:-id1,id2和id3是VARCHAR(10)(是評論,回復,頁面的id......)- 要提取值(id1、id2 和 id3),我在 / (PHP)上使用explode() 函數- type_info列不需要更新其內容。我所需要的只是 INSERT 和 SELECT-我以 gson 形式獲取數據。所以我的問題是:為了提高查詢SELECT * FROM table WHERE date > dateValue 速度,我是保持表設計不變還是有更高效的設計?如果我把Table按類型列分成4張表,是不是會更好?通知表:  id/from_id/to_id/type/dateType_1表:notfication_i/id1Type_2表:notfication_i/id1/id2Type_3表:notfication_i/id1/id2/id3注意:上面只考慮提高查詢速度的最佳表設計這樣的設計合適嗎?
查看完整描述

1 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

簡單的答案 - 將多個數據項嵌入到單個列中是不好的做法。由于您的數據包含多個不同表中的外鍵列表,因此您應該創建單獨的列,每個潛在外鍵對應一個列。

每列都有自己的索引,允許快速查找每種數據類型的數據,而無需使用字符串函數操作數據。

擁有 3 個可能為空的列的開銷可以忽略不計。


查看完整回答
反對 回復 2023-07-08
  • 1 回答
  • 0 關注
  • 146 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號