SQL查询时间复杂度

Pra*_*dar 6 mysql sql database time-complexity

简单SQL语句的时间复杂度如下所示?

INSERT into table (col1, col2, col3) values ("a", "b", "c")
Run Code Online (Sandbox Code Playgroud)

它如何取决于以下内容:

  1. 桌子的大小
  2. col1,col2的数据类型
  3. 表中的列数即.col1,col2,col3等

这取决于我使用的是MyISAM还是InnoDB?

Jos*_*ell 6

在MySQL 5.0中文件对此有一个很好的页面主题.

本文提供了插入任务中涉及的每个子任务的近似比例成本.

插入行所需的时间由以下因素决定,其中数字表示大致比例:

连接:(3)

向服务器发送查询:(2)

解析查询:(2)

插入行:(1×行的大小)

插入索引:(1×索引数)

结束:(1)

这没有考虑打开表的初始开销,每个并发运行的查询都会执行一次.

假设B树索引,表的大小会减慢日志N的索引插入速度.

本文的其余部分提供了加速插入的技术,如果插入速度成为应用程序的瓶颈,则非常有用.

  • 我添加了相关的摘录,以防链接腐烂. (4认同)