[SP-pm] Queries em Batches no MySQL

Blabos de Blebe blabos at gmail.com
Fri Nov 12 03:34:22 PST 2010


Se eu entendi bem, existe uma base com palavras "sujas".

Existem rand(1..infinito) formas de se digitar "foo" errado. E eu
"agarantiu", vc não vai conseguir criar um par chave-valor para cada
forma errada. Pelo menos não num tempo computacionalmente razoável.

Pegue a palavra errada, compare com um dicionário e limpe a base de
dados. Aliás, faça a comparação e ache a palavra certa *antes* de ela
ir parar no banco, se possível.

Mas eu posso ter entendido o problema de forma errada.

Abraços

2010/11/12 Renato Santos <renato.cron em gmail.com>:
> Luiz,
>
> o metodo do Blabos é um automatizado.
> No caso do Diego,
> parece que muitos "alguéns" (rs) já digitaram o que é o correto e o de
> determinado errado.
>
> Eu não entendi direito a duvida, mas eu faria, não que seja o mais rapido,
> um INNER JOIN entre a palavra do usuario e a da tabela.
>
> Por exemplo, nao sei como são suas tabelas:
>
> SELECT a.id_usuario, b.limpo
> FROM tabela_usuarios_porcos a
> INNER JOIN tabela_de_para_porco_decente b ON (a.palavra_suja = b.suja)
> WHERE a.id_usuario = Y;
>
> Claro, que no mundo real, você irá querer saber quais são as palavras que
> não estão no banco, então poderia alterar para:
>
> SELECT a.id_usuario, a.palavra_suja, b.limpo
> FROM tabela_usuarios_porcos a
> LEFT JOIN tabela_de_para_porco_decente b ON (a.palavra_suja = b.suja)
> WHERE a.id_usuario = Y;
>
> Assim, alguns registros estarão com o campo "limpo" em nulos.
>
> Mas, se for mesmo isso que você precise, eu faria assim:
> UPDATE tabela_usuarios_porcos
> SET limpo = _limpo
> FROM (
>  SELECT a.id_usuario as _id_usuario, b.limpo as _limpo
>  FROM tabela_usuarios_porcos a
>  INNER JOIN tabela_de_para_porco_decente b ON (a.palavra_suja = b.suja)
>  WHERE a.id_usuario IN (lots..)
> ) up
> WHERE id_usuario = _id_usuario
>
> E depois um select com quem ficou com limpo "null"
>
> SELECT a.id_usuario, a.palavra_suja
> FROM tabela_usuarios_porcos a
> WHERE a.id_usuario IN (same lots..)
> AND a.limpo IS NULL
>
>
> Wherever,
>
> bye bye!
>
> 2010/11/12 Luis Motta Campos <luismottacampos em yahoo.co.uk>
>>
>> On 11/11/2010 07:01 PM, Blabos de Blebe wrote:
>> > Vê se isso aqui tem alguma coisa a ver:
>> >
>> > http://blog.blabos.org/2008/12/faxina-depois-da-festa/
>> >
>> > Não vou poder falar muito agora (timeout) mas vê se não dá pra aplicar
>> > o mesmo princípio.
>>
>> O Blabos está certo e o processo que ele montou é o melhor que se pode
>> ter.
>>
>> Putamplexos
>> --
>> Luis Motta Campos is a DBA,
>> Perl Programmer, foodie and photographer.
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
> --
> Renato Santos
> http://www.renatocron.com/blog/
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>


More information about the SaoPaulo-pm mailing list