当所有表中的多个FK-PK关系

时间:2015-10-21 16:00:44

标签: mysql sql database performance rdbms

现在,在将数据与Java对象绑定到数据库时,我遇到了性能问题。特别是当涉及到很多FK-PK关系时,将数据从数据库中削减到java代码。我意识到了这个问题并通过创建数据库视图并创建POJO来映射视图来解决性能下降问题。

我在网上做了一些研究,但无法找到一个好的答案:数据库(我使用mysql)如何在视图中保持快速数据查询速度?

例如,如果我在具有FK-PK关系的10个表中创建视图,则查询的速度仍然非常快,并且可以非常快速地显示结果。幕后为数据库引擎究竟发生了什么?

1 个答案:

答案 0 :(得分:0)

指标的影响。

MySQL implicitly creates a foreign key index(即组成外键的列的索引),除非已经存在。并非所有数据库引擎都这样做。

视图只是一个别名查询。因此,任何视图,如果看起来微不足道,如果写得不好,可能会杀死服务器。执行时间与连接表的数量不成比例,但与索引的质量 *

副作用:默认索引可能不是最有效的索引。

当表格变大时,

* 表格大小也开始变得重要,就像在数百万条记录中一样