使用和不使用外键查询性能

时间:2015-10-07 14:01:57

标签: mysql foreign-keys foreign-key-relationship query-performance

我正在对NoSQL(Cassandra,HBase)和RDBMS(MySQL)数据库性能进行比较研究。

在关系模型中,我有一个包含10个表的数据模型。由于关系,一个人有6个外键和一个4个外键。

例如,当我运行以下查询时:



SELECT unique_carrier
FROM 
(
    SELECT C.unique_carrier,
           COUNT(V.IDflight) FligthDelaysNumber, 
           SUM(V.DepDelay) TotalDelaysTime
    FROM carriers C
    INNER JOIN airplane A
       ON A.Unique_carrier = C.unique_carrier 
    INNER JOIN flight V
       ON V.TailNumber = A.TailNumber
    WHERE V.DepDelay > 0              
    GROUP BY C.unique_carrier
) delays
ORDER BY FligthDelaysNumber DESC, TotalDelaysTime DESC
LIMIT 1;




当我使用EXPLAIN运行查询时,我得到以下结果:

没有外键: enter image description here

使用外键: enter image description here

当数据库没有外键时,查询性能要好得多。不应该相反吗?

如果定义了外键,我该如何优化查询?

0 个答案:

没有答案