2014-11-02 125 views
0

如果问题有点新鲜,我很抱歉,我对数据库知之甚少。向MySQL表添加大列(VARCAHR)是否会对性能产生重大影响?

我正在开发基于Web的应用程序来管理组织用户。记录数量将是10,000-20,000。我想在表格中添加另一列,以便工作人员为用户记录添加备注,以防万一。我认为这不会经常使用。

将VARCHAR列添加到表中是否会对数据库有显着的性能影响?您会建议将注释与另一个表(与用户表的关系)分开吗?

回答

1

增加一个大的varchar()可以对性能有影响,但不一定。这里的主要想法是将数据存储在数据库中的页面上。读取表格需要阅读包含记录的所有页面。通常,许多记录适合单个页面。如果记录相当大,那么只有少数记录适合页面。这可能会影响性能,因为需要读取更多页面(对于某些查询)或记录不能全部放入内存。

在任何情况下,有从轻情节:

  • 你可以有场,从来没有来填充它。因此,记录尺寸永远不会很大。
  • 所有的查询都是“针锋相对”的查询,您正在使用索引来获取一个或几个记录。
  • 如果实际上将该列存储为text,那么它是一个单独分配的对象。
  • 如果你只有“少数”用户,所以总的数据量很小(比如用几兆字节来衡量),那么性能可能不是问题。

还有一些方法可以降低性能,例如将较长的列放在单独的表中。

因此,对性能的影响取决于数据库的整体大小,结构以及如何使用。

相关问题