2012-09-23 100 views
5

是什麼樣子的下面簡單的SQL語句的時間複雜度?SQL查詢時間複雜度

INSERT into table (col1, col2, col3) values ("a", "b", "c") 

它是如何取決於以下因素:

表COL1的
  • 數據類型的
    1. 大小,COL2
    2. 表中的編號即列。 col1,col2,col3等

    這是否取決於我是否使用MyISAM或InnoDB?

  • +0

    + 4上的索引表 – biziclop

    +2

    一兩件事,不要用雙引號'「'周圍的價值觀,而是使用單引號''' –

    +0

    + 5的MySQL版本 – Erik

    回答

    6

    的MySQL 5.0中文件對此有topic一個不錯的頁面。

    本文提供用於每個參與的插入任務的子任務的近似proportial成本。

    用於插入行由以下因素,其中,數字表示大致的比例來確定所需要的時間:

    連接:(3)

    發送查詢給服務器:(2)

    解析查詢:(2)

    插入行:(1×尺寸行的)

    插入索引:(1×號碼索引的)

    閉合:(1)

    這不考慮初始開銷打開 表,這爲每個併發運行的查詢做一次。

    表的大小減慢索引的對數N, 假設B樹索引的插入。

    本文的其餘部分提供了加快插入,有用的,如果插入速度成爲應用程序中的瓶頸技術。

    +4

    我增加了相關摘錄情況下,鏈接腐爛。 –