Pergunta

Eu tenho sido brincando com o Designer SQLite no Visual Studio 2008 e tenho notado que quando eu usar as instruções insert / update gerados eles correm extremamente lento.

Exemplo: Eu tenho uma tabela de dados com quatro colunas e 5700 linhas demorou ~ 5 minutos para inserir os dados na tabela de banco de dados

No entanto, eu escrevi a minha própria conexão banco de dados e inserir métodos utilizando parâmetros e uma única transação e os mesmos 5700 linhas foram inseridas em menos de 1 segundo.

Por que o código gerado tão lento e que é benefício para até mesmo usá-lo?

Graças.

Nathan

Foi útil?

Solução

Eu li que o comportamento padrão no SQLite é envolver cada declaração Inserção em uma transação, que acho que explica o comportamento que você está vendo. Quando o motor SQLite cria as instruções de inserção que leva um longo tempo e quando você escreve o sql ele é executado muito rapidamente.

http://www.sqlite.org/faq.html#q19

Outras dicas

Se eu nderstood corretamente que instrução de inserção é construído em code-behind e é normal que levaria um longo tempo para executar ... tem que ser compilado, processado transformado em CLR etc. Se você usar um procedimento armazenado em o banco de dados que leva menos tempo causa que procedimento quando você chamá-lo a partir do código-behind já passou por essas etapas. É sempre melhor e mais rápido para procedimentos de uso diretamente do databae de Wright-los no código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top