我需要对SQL提交的SQL场景做一些澄清。
例如:
1) DELETE FROM tablename WHERE column_name = 'value';
COMMIT the above transaction;
Versus
2)
for (i...n){
DELETE FROM tablename WHERE column_name ('value');
}
COMMIT after 'N' transactions..
考虑N> = 10,在这种情况下,与第一种方法相比,DB上的压力会更好,或者第二种方法与第一种方法具有相同的效果...... 我知道最好的方法是传递多个值IN子句...只需要知道第二个是否优于第一个>?
答案 0 :(得分:0)
对每个N个事务的提交确实对数据库日志记录工具更快更好。权衡的是,如果必须重新启动该过程,您愿意丢失多少数据。
例如,您要加载10,000,000个批次行。如果进程在第7,543,232行崩溃,那么您可以再次加载多少行?
是的,您要为值执行带有绑定参数(?标记)的prepare语句,然后在每行值的语句句柄上执行一次。