数据库表设计问题[新闻表的设计]

Jack2013tong 2019-03-22 03:51:34
比如有一个新闻表,除了其它基本字段外,有“是否推荐”,“是否置顶”,“是否隐藏”,“是否热门”还一个自定义排序字段,我原来的表设计里是各设了一个字段 IsRecommand, IsTop, IsShow, IsHot, Orders,

由于业务上这几个属性都经常用到,所以由基于各个字段建了独立的索引,因为该表还有其它的索引,这样一来索引很多,而且也觉得这样的设计不是很好,所以请教下大牛基于这样的问题这样表该如何设计?
非常感谢!
...全文
804 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2019-03-23
  • 打赏
  • 举报
回复
“是否推荐”,“是否置顶”,“是否隐藏”,“是否热门” 这几个“是否” 建议各单建一张表出来。 比如,“推荐”的新闻ID,单存出来,查所有推荐的内容时,先查这个,再去回“新闻表”查询具体的内容。
Jack2013tong 2019-03-23
  • 打赏
  • 举报
回复
@吉普赛的歌 非常感谢,有的字段不是bit,因为不只是0和1的值,如果不考虑索引的问题,针对这类属性在表设计上有没有更好的方式呢
Jack2013tong 2019-03-23
  • 打赏
  • 举报
回复
@卖水果的net 这个法子倒是不错!
吉普赛的歌 2019-03-22
  • 打赏
  • 举报
回复
bit 类型不需要单独建立索引。
Jack2013tong 2019-03-22
  • 打赏
  • 举报
回复
非常感谢各位大大,还有没有其它好的点子
墙头上乘凉 2019-03-22
  • 打赏
  • 举报
回复
索引建多了反而会起反作用,首先表里面必须要有一个主键索引,其次给表中的一些关键字段建立索引,比如需要用A字段经常关联其他表做查询的,需要用B字段Order by的等等这些字段。还有建立索引不一定要每个字段一个索引,可以联合起来建一个多个字段的索引。
疯狂的疯 2019-03-22
  • 打赏
  • 举报
回复
如果只是每次取100条找哪些置顶 哪些隐藏,这些字段都不需要索引,找出100条 随便扫描下就都有了,具体要看你业务情况
祥-xiang 2019-03-22
  • 打赏
  • 举报
回复
你可以,建立一个属性值代码表,然后新闻表再去管理属性表

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧