Posts Tagged ‘performance’

Pesquisa

Sunday, March 16th, 2008

Finalmente, depois de bastante tempo sem perceber o que se passava, consegui colocar a pesquisa do TekPT a funcionar de forma aceitável… O código não está bonito, nem nada que se pareça, mas ao menos funciona e não obriga o servidor a uma paragem cardio-respiratória enquanto tenta fazer uma simples pesquisa.

O problema residia na implementação das Sub-Queries no MySQL: ela está inacabada e consequentemente levava minutos a resolver a simples subquery que eu utilizava… A solução rápida passou por pedir apenas os IDs dos posts e consequentemente chama-los um por um no php. O numero de queries feitas aumentou mas o resultado é uma pesquisa muito mais rápida.

O código será reescrito eventualmente mas para já serve. A questão do OR em vez do AND no entanto é outra questão ainda por resolver.

EDIT: Afinal parece que não vai demorar assim tanto. A pesquisa AND está concluida se bem que ainda precisa de muitos testes. Basicamente a solução passou por uma funcionalidade disponível na OracleDB chamada de INTERSECT.

Ao fazer a intersecção entre os resultados de dois SELECT tem-se uma pesquisa AND. Infelizmente este comando não existe no MySQL mas usando INNER JOIN chega-se ao mesmo resultado.

Agora falta mesmo é testar.