2012-06-28 23 views
6

Me pregunto cuáles son las diferencias clave entre utilizar una base de datos SQL Server Compact (.sdf) y una base de datos completa como, por ejemplo, SQL Server Express?Desventajas del uso de SQL Server Compact frente a la base de datos SQL Server dedicada

¿Hay algún problema de rendimiento importante, y si es así, qué tan grande puede llegar a la base de datos compacta antes de comenzar a notar esto?

Al iniciar proyectos, encuentro que el uso de una base de datos compacta es una solución simple, directa y limpia, ¿cuándo debo convertir y moverme a una base de datos dedicada?

Respuesta

11

Vamos a tratar:

  • máximo de 2 GB de tamaño de archivo
  • No hay procedimientos almacenados, triggers, etc.
  • Ningún proceso que cargarse en el dominio de aplicación
  • Por lo que yo sé, no hay optimizador basado en costo o planes de consulta para consultas
  • Falta de acceso simultáneo de varios usuarios al mismo tiempo

El gran problema aquí es que CE es solo un archivo en su sistema y se obtiene acceso a través de una simple llamada InApp utilizando un dll. Eso es y en muchos escenarios esto es suficiente. Mucha gente diría que puedes cambiar a SQLS más tarde, pero no lo creo. ¡Es un mundo completamente diferente! CE es un producto único en mi opinión.

¡Recuerde que debe desplegar el CE-DLL cuando quiera publicar su aplicación!

+5

gran lista. Añadiría que SQL Server Compact no tiene ningún caché en memoria, por lo que todas las consultas llegan al disco todo el tiempo. Con SQL Server Express, los datos calientes permanecen en la memoria, lo que puede acelerar las consultas significativamente, especialmente si las consultas se ejecutan con frecuencia. –

+0

En realidad es un máximo de 4 GB por base de datos y hay un procesador de consultas basado en el costo y planes de consulta. Y también API para "evitar" el procesador de consultas – ErikEJ

2

SQL Compact no es compatible con los procedimientos almacenados. Usted escribe toda su consulta directamente en el código. Eso es suficiente para que yo elija el SQL Express. Ahora, también tenemos la opción de LocalDB que simplifica los escenarios de implementación.

Cuestiones relacionadas