Performance does matter...

Published Fri, Aug 22 2008 12:55 | Alberto Silva

Estava a persistir numa base de dados em SQL Compact 3.5 num equipamento Windows Mobile 2003SE cerca de 250 registos (40 colunas) numa tabela e 5700 registos noutra tabela (4 colunas), obtidos de um webservice. A operação estava a tomar cerca de 70 segundos para a 1ª tabela e 60 segundos para a 2ª, o que me pareceu tempo a mais, ainda que estivesse a utilizar comandos preparados, com os tipos de dados e respectivos comprimentos definidos para cada parâmetro.

Fui fazendo umas alterações, removendo índices, 'foreign keys', mas as poucas melhorias não me convenciam, até que me lembrei de utilizar o SqlCeResultSet, sobre um comando do tipo TableDirect, e passei a inserir a mesma informação em... 10 SEGUNDOS, repartidos por um segundo e meio para os 250 registos e 8 segundos e meio para os 5700!!!

Fica a dica!!!

Comments

# Pedro Lamas said on August 22, 2008 9:13 AM:

E não haja dúvida que é uma boa dica!! :)

Acho que me recorda de ver o João Paulo Figueira demonstrar este mesmo comportamento no Techdays de 2007...

# Alberto Silva said on August 22, 2008 10:10 AM:

É bem provável, o objecto SqlCeResultSet existe desde o SQL Server Compact 3.0... de todo o modo o que surpreende neste caso é a grandeza da diferença quando comparado com comandos preparados! O facto de utilizar TableDirect em vez de CommandText também deve ajudar à performance.

# Joaquim Pais said on August 25, 2008 6:54 PM:

Viva,

Já que estamos a falar de performance, acho ser importante dizer que se estivermos a comunicar com o servidor para ir buscar dados à base de dados via web services, se usarmos o objecto SharpZipLib também reduzimos o tempo da operação.

# Alberto Silva said on August 26, 2008 5:40 AM:

Olá Joaquim,

Obrigado pela dica, em ligações remotas o tempo necessário à compressão/descompressão é mais do que compensado pela redução no tempo de comunicação e eventual poupança no custo da comunicação.

A partir da .NET CF 3.5, o HTTP Compression passa a ser suportado de forma transparente, não sendo necessário 'explicitamente' proceder à descompressão da resposta.

Leave a Comment

Name:  
Website:
If you can't read this number refresh your screen
Enter the numbers above:  

Search

This Blog

Tags

Community

Archives

News

  • Você escolheu um software de gestão que se adapta ao seu negócio... Porque há-de deixar que lhe imponham uma solução de mobilidade para as suas forças de venda? Contacte a moving2u e teremos todo o prazer em lhe apresentar as nossas soluções!


    Grab this badge here!

Eventos

Desenvolvimento .net CF

Mobilidade em Português...

Sobre mim...

Syndication

Email Notifications