我对插入操作以及提交操作的开销进行了测试。代码片段如下:
long t2 = System.currentTimeMillis();
session.insert("mybatis_test.BlogMapper.insert", new BlogMapper(4, "shuaige"));
long t3 = System.currentTimeMillis();
session.insert("mybatis_test.BlogMapper.insert", new BlogMapper(6, "shuaigege"));
long t4 = System.currentTimeMillis();
session.insert("mybatis_test.BlogMapper.insert", new BlogMapper(7, "shuaigegege"));
long t5 = System.currentTimeMillis();
session.commit();
long t6 = System.currentTimeMillis();
System.out 片段如下:
System.out.println(t3-t2);
System.out.println(t4-t3);
System.out.println(t5-t4);
System.out.println(t6-t5);
输出是:
869
1
1
205
正如我们在这里所看到的,第一个“插入”操作和提交操作占用了大部分开销。但是第一个插入做了什么,所以它需要很多开销?