Como saber se o SQLite está congelado?

0

Eu criei um arquivo com uma lista de aproximadamente 8 milhões de instruções de importação a serem importadas para um banco de dados SQLite. Eu tenho redirecionado erros para um arquivo. A cada poucos milhares de linhas há um erro, que me informa o progresso da importação. A partir de ontem, a importação estava na linha 5 milhões, mas, pelo que sei, nada de novo aconteceu. [O processo de importação - cat listofsqlstatements.sql| sqlite3 mydb.db 2>errors.txt - ainda está em execução.] O log de erros não foi alterado; o tamanho do arquivo do banco de dados parece inalterado (usando du database.db ); e um - sqlite3 mydb.db "select distinct * from sometable"|wc -l não mostra nenhuma alteração. No entanto, olhando para htop , vejo que o processo de importação tem alto uso da CPU. O que pode estar acontecendo? Como posso determinar isso? Posso verificar para ver quais foram os últimos dados importados para o banco de dados?

    
por Donnied 03.02.2013 / 16:20

1 resposta

2

Use strace -p para anexar ao processo cat . Veja se ainda está lendo o arquivo.

A propósito, se você não está fazendo a sua importação dentro de uma transação , ela vai rodar várias centenas vezes mais devagar do que deveria.

    
por 03.02.2013 / 23:22