Ola amigos,
Estou com problema de desempenho…
Quando executo a sql :
Cursor c = db.rawQuery(“Select * from tabprecoi left join produto on tabprecoi.fk_produto=produto.id where tabprecoi.fk_tabpreco=? and produto.descricao like '%”+txtBusca + “%’”,params);
Supondo que digito algo para busca esta demorando muito para criar o cursor!
sendo que a tabprecoi tem 28000 registro
e produto 5000 registro
escoli o txtbusca para dar a resposta de 15 registros, mesmo assim demora uns 2 a 3 min para busca os registros.
Ja aconteceu com alguem?
Menpolo onde está rodando este código? qual o poder de processamento do dispositivo?
Isto irá provocar um “full table scan”. Em qualquer banco de dados isso é uma operação lenta.
To rodando no proprio emulador com micro i7!! e esta parando!
estranho preciso tomar uma atitude para resolver o problema!!
falaram algo sobre EXPLAIN mas nem sei o que é isso!! sou zero em banco de dados.
se eu tirar o like ajuda bem? quando executo o sql direto no postgres a resposta é muito rapido…
Se não me engano, o emulador é bem lento mesmo, é bom tentar rodar esse código em um dispositivo Android e ver se isso é lento também
Cara não deu certo ta demorado do mesmo jeito!!! ta muito ruim mesmo!!
to estudando viabilidade de melhor esse sql!!! o left join consigo fazer com o where mas o like errou
se alguem tiver alguma ideia!!
Galera! resolvi!! apenas tirei o left !!!
Pessoal que não manja sql é cruel kkkk
valeu!!!
Pequena ilustração do porque dessa melhora de peformance:

Imprime ai e cola na sua mesa 
Ao lado desta:
Mandou bem meu amigo!! ja estou imprimindo!!
valeu galera!!!