您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL中字符串比较与int联接的性能

SQL中字符串比较与int联接的性能

与正在执行的其他操作相比,这两种方法之间不太可能有很大的性能差异。如果只有少数几种颜色(最多数百种),则大多数数据库中的颜色表都可以放在单个页面上。颜色上的索引将使查找速度非常快,并且不会引起任何I / O活动(在第一次运行以加载页面之后)。

字符串比较取决于数据库,但是它确实包含一个函数并从页面读取数据。因此,它不是免费的。当然,不同的数据库对于字符串函数可能具有不同的性能特征。

应该将其存储在哪里应该取决于您的应用程序。假设您有一个要向用户展示颜色的应用程序。您可能有一天想用西班牙语,斯瓦希里语或中文显示颜色的名称。如果是这样,拥有一个单独的表将使这种国际化变得更加容易。更平淡的是,您可能希望阻止输入“ Grene”,如果这样,使用这样的表可以使选择列表更容易。

另一方面,如果性能是您唯一关心的问题,则没有什么不同。在其他情况下,查找表实际上可能比非规范化表 。当字符串很长时,会发生这种情况,这会增加较大表中每个记录的长度。较大的表意味着更多的页面,需要更长的时间才能加载到内存中。

SQLServer 2022/1/1 18:52:51 有334人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶