我的表结构如下:
EVENT_ID(INT)    EVENT_NAME(VARCHAR)    EVENT_DATE(DATETIME)    EVENT_OWNER(INT)我需要添加字段EVENT_COMMENTS,它应该是文本字段或非常大的VARCHAR。
我有两个地方可以查询这个表,其中一个位于列出所有事件的页面上(在该页面中,我不需要显示event_comments字段)。
另一个页面加载特定事件的所有细节,我需要在该页面上显示event_comments字段。
我是否应该为该事件创建一个带有event_id和event_comments的额外表?或者我应该在当前的表上添加这个字段吗?
换句话说,我要问的是,如果我的表中有一个文本字段,但我没有SELECT   it,它会影响对我的表的查询的性能吗?
发布于 2011-01-26 14:08:53
向表中添加字段使其更大。
这意味着:
但是,使用join来选择这个字段需要更多的时间。
因此,将这个字段添加到这个表中将使没有选择它的查询运行得更慢,而那些选择它的查询运行得更快。
发布于 2011-01-26 14:07:39
是的,它会影响演出。至少,根据这篇文章昨天发布的数据。
根据它,如果您不想遭受性能问题,最好将它们放在一个单独的表中,并在需要时加入它们。
这是相对部分:
尝试限制表中的列数。一个表中太多的列会使查询的扫描时间比只有几个列的时间长得多。此外,如果您的表中有许多列通常不被使用,那么使用空值字段也会浪费磁盘空间。对于可变大小字段(如text或blob )也是如此,在这些字段中,表的大小可能比需要的要大得多。在这种情况下,您应该考虑将附加列拆分到不同的表中,在记录的主键上将它们连接在一起。
发布于 2011-01-26 14:06:30
你应该坐在同一张桌子上。
https://stackoverflow.com/questions/4805390
复制相似问题