最佳答案
正如标题所示……我试图找出开销最小的最快方法来确定表中是否存在记录。
查询样例:
SELECT COUNT(*) FROM products WHERE products.id = ?;
vs
SELECT COUNT(products.id) FROM products WHERE products.id = ?;
vs
SELECT products.id FROM products WHERE products.id = ?;
假设?
与'TB100'
交换…第一个和第二个查询都将返回完全相同的结果(例如…1
为这个对话)。最后一个查询将像预期的那样返回'TB100'
,如果表中不存在id
则不返回。
其目的是找出id
是否在表中。如果不是,程序将接下来插入该记录,如果是,程序将跳过它或基于此问题范围之外的其他程序逻辑执行UPDATE查询。
哪个更快,开销更少?(每次运行程序都会重复数万次,并且每天会运行多次)。
(从Java通过M$提供的JDBC驱动程序对M$ SQL Server运行此查询)