主表:
Id, Name
1, 白雪中性筆
2, 晨光中性筆
3, 書桌
4, 餐桌
5, 茶幾桌
我想在用戶瀏覽時顯示不同的列:
中性筆:
Id,Name, Length,Color,(后面用戶還可以添加其他列)
1,白雪中性筆,10,紅
2,晨光中性筆,11,藍
桌:
Id,Name,Height, Width, Length,Weight,(后面用戶還可以添加其他列)
3, 書桌, 70, 40, 60, 4
4, 餐桌, 65, 40, 60, 6
5, 茶幾桌,40, 30, 40, 2
因為品類會非常多,每個子表的列也會很多,也會經常變,所以不能在主表中固定列名。
所以資料庫要怎么設計能又可顯示,又能不太影響查詢的效率(比如時間段的篩選)?
我能想到的是增加一個“屬性表”:
Object_Id, Property, Value
1,Length,10
1,Color,紅
....
但是不知道怎么樣才能高效查詢。100萬行資料后,我寫的查詢陳述句,3到5個屬性列,查前1000行就會有40多秒查詢時間:
select Id,Name,GetPropertyValue(Id,"Length") as Length, ... from 主表
--GetPropertyValue是自己寫的函式
同時也有不同資料型別如何處理等問題。
感謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/218976.html
標籤:疑難問題
上一篇:用一維陣列存能寫,但是怎么用一維陣列存著,有還能顯示出來?
下一篇:Collection集合框架
