要检查多个表(10 - 15个表)中是否存在Id,最佳选择是什么?在表现方面。
需要根据多个表中Id的存在来做出决策。
答案 0 :(得分:0)
您可以使用解释计划(例如使用Oracle sql开发人员)测量oracle中查询之间的性能,并编写一些简单的java类来查看与DAO进行比较需要多长时间。
当您使用exists时,Oracle将使用您的pk和fk索引,您将在数据库内的一个查询中完成所有操作。我认为这是最好的选择,但如果你比较它们,你就会有准确的选择。
答案 1 :(得分:0)
使用UNION ALL:
SELECT 'table1' FROM table1 WHERE id = ?
UNION ALL
SELECT 'table2' FROM table2 WHERE id = ?
UNION ALL
SELECT 'table3' FROM table3 WHERE id = ?
另一种解决方案是使用功能:
select function(id)
此解决方案可以访问数据库服务器。