微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果一个表包含许多未使用/未选择的列,是否会影响性能?

如何解决如果一个表包含许多未使用/未选择的列,是否会影响性能?

安多玛(Andomar)在他的评论中说“这取决于”是正确的。但是,如果您提出这样的问题:

表中的列数会影响选择查询吗?

那么答案是 。它们是“额外”还是“未使用”是数据库设计的问题,与性能问题无关。

在所有其他条件相同的情况下,具有100列的表中的一行将比具有10列的表中的一行占用更多的空间。因为行将更大,所以服务器(相对)必须努力(相对)遍历较宽表中的行数要小于较小表中的行数。

诸如页面拆分之类的事情也会在行占据更多空间的表中更频繁地发生。

如果您的问题是(我想这可能与您要问的内容更相似)

在所有条件都相同的情况下,从具有170列的表中抽取80列的查询比从具有80列的表中抽取80列的查询慢吗?

那么答案应该是“ 。

解决方法

背景:
我有一个叫做car的表,里面有很多二手车,大约有100万行。该表有170列多一点。该表仅在各个列上建立索引。大多数列是布尔值(例如has_automatic_gearbox等),其余列是字符串和数字(​​例如颜色和价格)。这些汽车以视图显示,其中我使用了170列中的约80列。

我的问题:
所以我的问题是,是否在执行搜索时仅从表中选择80列,或者另一方面,我仅由这80列组成的新表对性能有影响?我需要而不是总共170列?因此,换句话说,表包含未选择的列会对性能产生影响吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。