Pregunta

Estoy trabajando en SQL Server 2005. Tengo una tabla de registro de eventos que las acciones de las pistas de usuario, y quieren asegurarse de que se inserta en la tabla son tan rápido como sea posible. Actualmente la tabla no tiene ningún índice. Hace la adición de un único índice no agrupado ralentizar insertos en absoluto? O es sólo que inserta índices de deceleración agrupado? ¿O debo añadir un índice agrupado y no preocuparse por él?

¿Fue útil?

Solución

Índices, agrupado o no agrupado, siempre frenar insertos como SQL tiene que mantener tanto la tabla y el índice. Esta desaceleración es en un sentido "absoluto" y es posible que no se note. Yo añadiría lo índices son necesarios para recuperar sus datos.

Otros consejos

Sí, cualquier índice tomará un poco de tiempo para mantenerse al día al realizar operaciones INSERT, UPDATE, DELETE. Los índices más tenga, más tiempo que estamos hablando.

Sin embargo, en última instancia, depende de lo que es más importante para usted - un buen rendimiento de la consulta (a continuación, añadir los índices según sea necesario), o un buen rendimiento de inserción (entonces tener el menor número posible de índices).

¿Qué hace la operación se realiza con mayor frecuencia ??

Esto es porque cada índice secundario en MySQL (y cualquier otro motor de base de datos) es una piscina separada de almacenamiento, típicamente organizada como algún tipo de B-árbol.

Estos grupos de almacenamiento contienen registros de índice que tienen los valores indexados y algún tipo de puntero al registro de la tabla de base. En el caso de MySQL, este puntero es la clave primaria de la tabla base.

Cada vez que se inserta o se elimina un registro, estas áreas de almacenamiento índice tendrá nuevos registros añadidos o eliminados. Si actualiza un registro -. Y la actualización entraña una columna indexada, la agrupación de almacenamiento índice en cuestión tiene que tener su registro actualizado, así

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top