Why does TRANSACTION / COMMIT improve performance so much with PHP/MySQL (InnoDB)?

后端 未结 2 772
臣服心动
臣服心动 2021-02-01 02:57

I\'ve been working with importing large CSV files of data; usually less than 100,000 records. I\'m working with PHP and MySQL (InnoDB tables). I needed to use PHP to transform s

2条回答
  •  庸人自扰
    2021-02-01 03:28

    My own little test in .Net (4 fields pr. records):

    INSERT 1 record, no transaction:60 ms

    INSERT 1 record, using transaction:158 ms

    INSERT 200 records using transactions, commit after each record:17778 ms

    INSERT 200 records using no transactions:4940 ms

    INSERT 200 records using transactions, only commit after last record:4552 ms

    INSERT 1000 records using transactions, only commit after last record:21795 ms

    Client in Denmark, server in Belgium (Google cloud f1-micro).

    I meant to put this in a comment but the formatting is not good....so here is my apology in advance ;-)

提交回复
热议问题