2012-09-23 19 views
5

¿Cuál es la complejidad de tiempo de las declaraciones SQL simples como las siguientes?Complejidad del tiempo de consulta SQL

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

¿Cómo dependen de lo siguiente:

tamaño
  1. de la mesa
  2. tipo de datos de col1, col2
  3. número de columnas en la tabla a saber. col1, col2, col3, etc.

¿Esto depende de si estoy usando MyISAM o InnoDB?

+0

+ 4. Índices en la tabla – biziclop

+2

una cosa más, no utilice comillas dobles '" 'alrededor de los valores, sino que utilice comillas simples' '' –

+0

+ 5. mysql versión – Erik

Respuesta

6

La documentación de MySQL 5.0 tiene una buena página en este topic.

El artículo proporciona costos proporcionales aproximados para cada una de las subtareas involucradas en una tarea de inserción.

El tiempo requerido para insertar una fila está determinada por los siguientes factores, donde los números indican proporciones aproximadas:

de conexión: (3)

Envío de consulta al servidor: (2)

consulta de análisis: (2)

fila Inserción: (1 × tamaño de fila)

índices Inserción: (1 × número de índices)

de cierre: (1)

Esto no toma en consideración la sobrecarga inicial para abrir tablas, que se realiza una vez para cada consulta simultáneamente en funcionamiento.

El tamaño de la tabla ralentiza la inserción de índices mediante el registro N, asumiendo índices B-tree.

El resto del artículo proporciona técnicas para acelerar las inserciones, útil si la velocidad de inserción se convierte en un cuello de botella en su aplicación.

+4

Agregué el extracto correspondiente en caso de que el enlace se pudra. –

Cuestiones relacionadas