terça-feira, agosto 14, 2012

SQLite - Configurações de PRAGMAs

Configuração de PRAGMAS do SQLite
PRAGMA cache_size
Apesar do site de referência falar dessa PRAGMA você NÃO DEVE USÁ-LA. Trata-se de uma função descontinuada pelo SQLite.

PRAGMA synchronous
O valor boleano synchronous controla se a biblioteca irá esperar ou não pela escrita no disco estará completa antes de continuar qualquer outra operação. Esta opção pode ser diferente da pragma default_synchronous lida do SQLite.
Algumas vezes o SQLite pode perder muito tempo apenas esperando o sistema de arquivos do sistema. Mudando a opção para "PRAGMA synchrounous=OFF" pode-se obter maior velocidade.
Valores possíveis:
0 - OFF: O banco rodará sem sincronização com o disco e em casa de falha do sistema tudo será perdido. Apesar da insegurança, a aplicação ficará 50 vezes ou até mais rápido que o normal.
1 - NORMAL: O SQLite ainda sincronizará, mas com menos frequencia do que no modo FULL
2 - FULL: Opção mais lenta, em compensação o SQLite manterá sempre a base sincronizada no disco e no caso de qualquer falha o risco de perda de dados é bem menor.

PRAGMA count_changes
Apesar do site de referêcia falar para usar essa PRAGMA... Você NÃO DEVE USÁ-LA. Trata-se de uma função descontinuada do SQLite.

PRAGMA temp_store
Essa opção configura onde os arquivos temporarios são salvos. Se ficam apenas residentes na memória ou são usados arquivos temporários no disco. Os valores da PRAGMAtemp_store são:
0 - Sempre usar arquivos temporários.
1 - Usar arquivos por padrão mas permite que o PRAGMA temp_store configure o uso da memória.
2 - Usar a memória como padrão mas permite que o PRAGMA temp_store configure como padrão o uso de arquivos.
3 - Sempre usar a memória.