Pesquisa
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.
Tags: mysql, performance, pesquisa, sql, sub-queries
May 5th, 2008 at 3:44 pm
Boas.
Tentei a contact form do site mas a imagem do anti-spam não funciona.
Gosto do vosso site e comecei a uns tempos algo identico com um amigo.. gostava de saber se querem trocar um link no blogroll.
Do meu po vosso e vice-versa.
cumprimentos e continuem.
Valter