temporales - variables tipo tabla sql server
La forma más rápida de llenar la tabla SQL con datos ficticios (4)
Como se mencionó en "SQLMenace", RedGate Data Generator es una herramienta muy buena para cumplirlo, cuesta $ 369, aunque tienes una posibilidad de prueba de 14 días.
El punto positivo es que RedGate identifica claves externas para que pueda aplicar UNIR en sus consultas.
Tiene un montón de opciones que le permiten decidir cómo se debe rellenar cada columna, cada columna se anticipa semánticamente para que se sugieran datos relacionados, por ejemplo, si tiene una columna llamada ''Departamento'', no está llena de datos extraños Los caracteres se rellenan con expresiones como "Técnico", "Web", "Cliente", etc. Incluso puede usar expresiones regulares para restringir los caracteres seleccionados.
Llené mis tablas con más de 10,000,000 de registros que fue una simulación impresionante.
ACTUALIZACIÓN: solo necesita Go 1000
después de su INSERTAR, para llenarlo 1000 veces, así:
INSERT INTO dbo.Cusomers(Id, FirstName, LastName) VALUES(1, ''Mohamed'', ''Mousavi'')
GO 1000
Hará una tabla con 1000 filas iguales en ella. Otra solución es que puede llenar la primera fila de su tabla con algunos datos, luego rellena las siguientes filas de la tabla repitiendo la primera fila una y otra vez, lo que significa que llena la tabla por sí mismo:
INSERT INTO dbo.Customers
SELECT * FROM dbo.Customers
GO 10
En el caso de que una o más columnas sean identidades, significa que aceptan valores únicos, si es auto-incremental, simplemente no lo coloque en su consulta, por ejemplo, si Id en dbo.Customer es identidad, la consulta es así:
INSERT INTO dbo.Customers
SELECT FirstName, Last Name FROM dbo.Customers
GO 10
En lugar de:
INSERT INTO dbo.Customers
SELECT Id, FirstName, Last Name FROM dbo.Customers
GO 10
Si no, encontrarás este error:
An explicit value for the identity column in table ''dbo.Customers'' can only be specified when a column list is used and IDENTITY_INSERT is ON.
Nota: Esto es una especie de progresión aritmética, así que va a durar un poco, no uses un número grande delante de GO
.
Si desea tener una tabla que esté un poco más elaborada, puede lograrlo de la misma manera esta vez ejecutando una consulta simple y siguiendo estos pasos:
Elija una de sus tablas que tenga un número notable de filas, por ejemplo, dbo. Clientes
Haga clic derecho en él y seleccione
Script Table as > Create To > New Query Editor Window
Nombre su nueva tabla a otra cosa como dbo.CustomersTest, Ahora puede ejecutar la consulta para tener una nueva tabla con una estructura similar con el dbo.Customers.
Nota: tenga en cuenta que si tiene una identidad archivada, cambie su Identity Specification to No
ya que se supone que debe completar la nueva tabla con los datos de la original repetidamente.
Ejecute la siguiente consulta, se ejecutará 1000 veces, puede cambiarla a más o menos, pero tenga en cuenta que podría durar minuetos basados en el hardware de su computadora:
INSERT INTO [dbo]. [CustomersTest] SELECT * FROM [dbo]. [Customers] GO 1000
Después de un tiempo tienes una tabla con filas ficticias en ella!
¿Cuál es la forma más rápida de llenar una tabla SQL con datos ficticios?
Tengo una tabla amplia con aproximadamente 40 campos de diferentes tipos (int, bit, varchar, etc.) y necesito hacer algunas pruebas de rendimiento. Estoy usando SQL Server 2008.
¡Gracias!
Recomiende el generador de datos personalizados, aleatorios, con licencia GNU http://www.generatedata.com/
Respuesta tardía pero puede ser útil para otros lectores de este hilo. Además de otras soluciones, puedo recomendar la importación de datos desde un archivo .csv mediante SSMS o scripts de importación SQL personalizados, programas. Hay un tutorial paso a paso sobre cómo hacer esto, por lo que puede consultar: http://solutioncenter.apexsql.com/how-to-generate-randomized-test-data-from-a-csv-file/
Tenga en cuenta que importar un archivo .csv mediante SSMS o scripts de importación SQL personalizados es más fácil que crear las inserciones de SQL manualmente, pero existen algunas limitaciones, como se explica en el tutorial:
Si se necesitan miles de filas para rellenar, y el archivo .csv contiene unos cientos de filas de datos, no es suficiente. La solución es volver a importar el mismo archivo .csv una y otra vez hasta que sea necesario. El inconveniente de este método es que insertará grandes bloques de filas con los mismos datos, sin aleatorizarlos.
El tutorial también explica cómo usar un generador de datos SQL de terceros llamado ApexSQL Generate . La herramienta tiene una función integrada para generar grandes cantidades de datos aleatorios del archivo con formato .csv importado. La aplicación presenta una prueba gratuita totalmente funcional para que pueda descargarla y probarla para ver si funciona para usted.
Generador de datos SQL por RedGate
Generación de datos en un clic
Datos realistas basados en columna y nombre de tabla
Los datos se pueden personalizar si se desea
Elimina horas de trabajo tedioso.
Soporte completo para SQL Server 2008