简单SQL语句的时间复杂度如下所示?
INSERT into table (col1, col2, col3) values ("a", "b", "c")
它如何取决于以下内容:
这取决于我使用的是MyISAM还是InnoDB?
答案 0 :(得分:6)
MySQL 5.0文档在这个topic上有一个很好的页面。
本文提供了插入任务中涉及的每个子任务的近似比例成本。
插入行所需的时间由以下因素决定,其中数字表示大致比例:
连接:(3)
向服务器发送查询:(2)
解析查询:(2)
插入行:(1×行的大小)
插入索引:(1×索引数)
结束:(1)
这不考虑打开的初始开销 表,每个并发运行的查询都会执行一次。
表的大小减慢了log N插入索引的速度, 假设B树索引。
本文的其余部分提供了加速插入的技术,如果插入速度成为应用程序的瓶颈,则非常有用。