我正在为我的网站上的一些新功能制定计划,并且可以使用连接表“解决”一个。
示例模式:
将运行联接以获取某人的签入数据(通过PersonCheckin表连接)。由于每个人都可以无限次地检查,因此PersonCheckin表可能变得非常大。
我认为这会导致一些性能问题。处理这些以保持高性能的典型方法是什么?
答案 0 :(得分:2)
联接正在考虑连接相关表格的最佳表现方式 但它实际上取决于查询,因为它可能不需要是JOIN - 如果有多个子记录相关,JOIN可以扩充父表侧的记录集,这意味着可能需要任何一个GROUP BY或DISTINCT。在这种情况下,EXISTS或IN是更好的选择...
索引可以帮助关系两侧的JOIN条件中使用的列。在此示例中,双方都是主键,通常在定义主键时自动创建最佳索引...
答案 1 :(得分:-1)
如果您要经常执行此查询并希望获得更好的性能,只需在编写连接查询的数据库上创建一个视图