Mysql 带外键和不带外键的查询性能

Mysql 带外键和不带外键的查询性能,mysql,foreign-keys,foreign-key-relationship,query-performance,Mysql,Foreign Keys,Foreign Key Relationship,Query Performance,我正在对NoSQL Cassandra、HBase和RDBMS MySQL数据库的性能进行比较研究 在关系模型中,我有一个包含10个表的数据模型。由于关系,一个有6个外键,一个有4个外键 例如,当我运行以下查询时: 选择唯一的载体 从…起 选择C.U载体, COUNTV.idflightdelays编号, 总延迟时间 从承运人C 内接飞机A 在A.Unique_载体上=C.Unique_载体 内联航班V 在V.TailNumber=A.TailNumber上 其中V.DepDelay>0 按C

我正在对NoSQL Cassandra、HBase和RDBMS MySQL数据库的性能进行比较研究

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

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

选择唯一的载体 从…起 选择C.U载体, COUNTV.idflightdelays编号, 总延迟时间 从承运人C 内接飞机A 在A.Unique_载体上=C.Unique_载体 内联航班V 在V.TailNumber=A.TailNumber上 其中V.DepDelay>0 按C.U.carrier分组 耽搁 按航班延误次数说明、总延误时间说明排序
限值1;外键有一些开销,但这种开销并不超过它们所能提供的引用完整性的好处。对子表和父表中外键关系中的字段进行索引有助于减少开销。参与联接和查询的字段是否已编制索引-例如:Airport.unique_carrier、flight.tailnumber、flight.depdelay等。?父表中的字段是主键吗?唯一_载体是载体表的主键,飞机表的外键。尾号是飞机台的主键和飞行台的外键。DepDelay只是flight表的一个字段……下一步是使用EXPLAIN(带FKs和不带FKs)查看查询计划。这将让我们了解当FK存在和不存在时,DB的路径是什么。你能发布解释选择唯一载体的结果吗…限制1;有无FKs?仅与一个数据库进行比较可能是不现实的。Mysql必须评估表中可用的10个索引,然后才能决定使用哪一个索引,或者根本不使用任何索引,这可能需要一些时间数据的大小也很重要。对于小表,索引并不能真正提高性能。对于非常小的表,查询优化器可能决定根本不使用索引!好的,我将用这些结果编辑我的问题。。。