在数据库中建立关系会使它们变慢
我刚开始在一家小软件公司实习,我正在研究ERP.我的团队负责人禁止我在数据库中创建任何关系.由于这是我的实习,我感到震惊,因为到目前为止我已经读到关系是确保数据完整性所必需的.我的团队负责人告诉我,我们可以在前端强制执行数据完整性.经过一些研究后,我发现外键确实使数据库速度变慢,但索引外键可以提高性能.
问题 >如何制作外键性价比? 1.)确保应用层的数据完整性规则 2.)索引外键 感谢帮助. 解决方法通常,您的数据模型越复杂,您将体验到的性能打击就越大.但是,除非您的数据库非常大,您的硬件资源非常少,或者您的查询非常复杂,否则您可能不会因在数据库中添加强制关系而受到阻碍.这显然是一种主观陈述,但“可接受的表现”是一个非常主观的概念,因项目而异.不过,你同事的论点的核心是正确的,原因如下: >每次编写包含外键或主键的新记录时,数据库都必须检查是否违反了任何键的约束.键列也已编制索引,因此在添加记录时必须更新索引. 也就是说,这就是为什么这些论点大多无关紧要的原因: >索引显着缩短了查询执行时间,尤其是在执行良好的情况下.以一种利用将针对它运行的查询结构的方式索引表非常重要. 这些都取决于您的RDBMS和项目的规范,但这是很好的经验法则.一般来说,我会说,除非您的数据库太大以至于执行关系变得非常慢,或者您的模型非常简单以至于关系毫无意义(在这种情况下,您为什么使用RDBMS?),最好启用数据完整性和关系约束. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |