admin

MySQL查询性能

sql

我具有以下表结构:

EVENT_ID(INT)    EVENT_NAME(VARCHAR)    EVENT_DATE(DATETIME)    EVENT_OWNER(INT)

我需要添加EVENT_COMMENTS应该是文本字段或很大的字段VARCHAR

我在2个地方查询此表,一个在列出所有事件的页面上(在该页面中,我不需要显示event_comments字段)。

另一个页面将加载特定事件的所有详细信息,我将需要在该页面上显示event_comments字段。

是否应该为该事件使用event_id和event_comments创建一个额外的表?还是应该只在当前表中添加该字段?

换句话说,我要问的是,如果我的表中有一个文本字段,但是我没有,SELECT这会影响对我的表的查询性能吗?


阅读 155

收藏
2021-06-07

共1个答案

admin

在表中添加字段会使其更大。

这意味着:

  • 表格扫描将花费更多时间
  • 较少的记录将适合页面,因此适合高速缓存,因此增加了高速缓存未命中的风险

但是,通过联接选择该字段将花费更多时间。

因此,将此字段添加到此表中会使未选择该字段的查询运行速度较慢,而选择该字段的查询运行速度更快。

2021-06-07