Autor |
Mensagem |
Sam Moderador |
# nov/07 · Editado por: Sam
Como tem mt programador aqui, resolvi compartilhar esse momento nerd:
peguei no "shows processlist" do mysql a consulta mais cavala que já fizemos por aqui... ela não é pesada - roda rapidinho - mas usa muitos rescursos/funções do mysql. É quase uma aula. =P
http://img81.imageshack.us/img81/8130/consultamysqlmaiscavalaxu9.gif
Ela é a query que gera a lista de bandas por cidade do Palco. http://palcomp3.com/mp3/sp/taubate/todos.htm
Se vc viu algum defeito, sinta-se a vontade para palpitar. =)
SELECT a.id, a.url, trim( a.nome ) AS nome, g.genero_sub, CASE WHEN ( v.posicao IS NULL AND i.id_artista IS NULL ) THEN "9999999" WHEN ( v.posicao IS NULL AND i.id_artista IS NOT NULL ) THEN "9999998" WHEN i.id_artista IS NOT NULL THEN ( v.posicao -2000 ) ELSE v.posicao END AS colocacao, IF( a.nome REGEXP '^[a-z0-9]', 1, 0 ) AS checker FROM artistas a INNER JOIN generos_sub g ON ( g.id = a.genero_sub ) LEFT JOIN views_artistas_historico_semanal v ON ( v.id_artista = a.id AND ( v.data = IF( DATE_FORMAT( NOW( ) , '%w' ) BETWEEN 1 AND 2 , DATE_FORMAT( DATE_SUB( NOW( ) , INTERVAL 7 DAY ) , '%u%/%Y' ) , DATE_FORMAT( NOW( ) , '%u%/%Y' ) ) ) ) LEFT JOIN inicial i ON ( i.id_artista = a.id ) WHERE a.ativo =1 AND a.id_cidade =785 ORDER BY checker DESC , nome ASC
|
Dogs2 Veterano |
# nov/07
· votar
letra c
|
Sam Moderador |
# nov/07
· votar
O lance da posição serve para gerar o lance dos destaques e a "hierarquia" dos negritos ali (bandas que foram destaque na capa e/ou que tenham muitos acessos ganham destaque).
O regexp é para jogar para o final as bandas que usavam de artifícios para ficarem primeiro nas listagens por ordem alfabética. Ou seja, antes, a banda "/*-//-/ BANDA ESPERTA \-\\-*\" ficaria em primeiro na lista por ordem alfabética. Com aquele regexp ali, ela ficará por último.
As loucuras com datas ali serve para se basear no ranking da semana atual, desde que seja, se não me engano, quarta-feira.
Sugestões? =)
|
The Blue Special Guitar Veterano |
# nov/07
· votar
THEN "9999999"
Isso é POG ou é impressão minha?
hahaha
|
The Blue Special Guitar Veterano |
# nov/07
· votar
http://www.totalsecurity.com.br/article.php?sid=732
Artigo interessante sobre SQL Injection
|
The Blue Special Guitar Veterano |
# nov/07
· votar
Tentei fazer uns aqui no fórum, parece que tá seguro =D
|
conehc Veterano |
# nov/07
· votar
Sam não entendo nada de programação, mas gosto de ficar olhando esses codigos pra tentar descobrir o que eles fazem... geralmente isso me faz pensar que eu fiz muito bem em fazer relações internacionais ao invés de ciencias da computação (eu ia estudar na ufop, mas desisti)
|
Simonetti Veterano |
# nov/07
· votar
Já vi muito pior!
|
sobrevivente Veterano |
# nov/07
· votar
Maluquinho esse select... mas Já vi muito pior... No meu trabalho tem cada comando SQL "sem noção"...
Hehehe! x)
|
izzystradlin Veterano |
# nov/07
· votar
legal...essa consulta tem quase todos os comandos que aprendi em SQL...
AND 2 , DATE_FORMAT( DATE_SUB( NOW( ) , INTERVAL 7DAY ) , '%u%/%Y' ) , DATE_FORMAT( NOW( ) , '%u%/%Y' ) ) ))
com datas então ficou muito foda...
|
ROTTA Veterano |
# nov/07
· votar
Sam O regexp é para jogar para o final as bandas que usavam de artifícios para ficarem primeiro nas listagens por ordem alfabética.
Esta parte foi uma sacada... Parabéns, pequeno gafanhoto! =) Abraços.
|
Sam Moderador |
# nov/07 · Editado por: Sam
· votar
Simonetti sobrevivente Já vi muito pior...
Cada um tem o castigo que merece! =D
The Blue Special Guitar Isso é POG ou é impressão minha?
tipo =)
|
Irmao_Caminhoneiro_Shell Veterano |
# nov/07
· votar
Sam Acho de grande valor para a busca
|
Irmao_Caminhoneiro_Shell Veterano |
# nov/07
· votar
Sam mas confesso que só entrei no topico por ter lido
"Consultora de SQL mais cavala que já vi"
|
gsprs Veterano |
# nov/07
· votar
Já ví piores... O.o
|
gsprs Veterano |
# nov/07
· votar
Isso é POG ou é impressão minha?
tipo =) haaaaahha
o q seria de nós sem isso...
|
GuitarHouse Veterano |
# nov/07
· votar
Não fazia idéia do que é POG.
Mas seus e meus pobrema se acabaram-se
|
lula_molusco Veterano |
# nov/07
· votar
The Blue Special Guitar eauaehueaua injection é foda. dá pra estragar mta coisa =X haha
|
Planeduck Veterano |
# nov/07
· votar
THEN "9999999" = POG
|
Izzy Dragon Veterano |
# nov/07
· votar
Sam
Eu nem sabia que o MySQL aceitava esses "if" e "case".
Tá usando qual versão?
|
fgr Veterano |
# nov/07
· votar
Se eu entendi o lance das posições e destaques, não seria melhor criar um campo na tabela pra alocar as posições, colocações e etc com um valor fixo ao invés de criar valores subentendidos como o 9999999 e o 9999998?
Devo ter falado besteira mas tudo bem, só queria compartilhar desse momento rsrsrs Abração ae..
|
Sam Moderador |
# nov/07 · Editado por: Sam
· votar
Izzy Dragon Confidencial =(
Mas isso é recurso velho =)
fgr O problema é que as posições variam toda semana. Daí, pra não ficar gravando registro de banda que não teve visita (e consequentemente lotando o banco), optamos por usar esse recurso aí =)
Perceba que tb há a questão da banda ter sido ou não destaque na capa... se foi e não tem visita, é 999998... daí fica na frente das que não foram nada (99999)...
|
_Douglas_ Veterano |
# nov/07
· votar
Com certeza já vi coisa muito pior que isso onde trabalhava....Tinha procedure lá que tinha mais de 1000 linhas fácil.....tudo em cima de tabela com uns 300 mil registros....
Rodava de madrugada e levava umas 4 horas rodando....
=)
|
Sam Moderador |
# nov/07 · Editado por: Sam
· votar
_Douglas_ Rodava de madrugada e levava umas 4 horas rodando.... Quero ver rodar em meio segundo que nem essa aí. =)
300 mil registros isso é pouco, veja o fórum com milhões de posts.. trocentas queries por segundo =)
mas o que é que essa de mil linhas fazia? =P
|
_Douglas_ Veterano |
# nov/07
· votar
Sam Confidencial
Heheheheh....
|
Sam Moderador |
# nov/07
· votar
normal ;)
|
_JCM_ Veterano |
# nov/07
· votar
POG
um pedal??????????
|
gsprs Veterano |
# nov/07
· votar
Certa vez fiz um bagulho no Zim que levou 8 horas pra rodar..
Esses tempos refiz no SQLServer e levou 40 minutos
AUSHuaSashasuahs
|
gsprs Veterano |
# nov/07 · Editado por: gsprs
· votar
*maldito post duplo*
|
Benva Veterano |
# nov/12
· votar
Up para quem quiser fazer uma pesquisa assim como a do Palco Mp3.
Abrassos pro manolo Sam. Copiei tudo, mesmo não entendendo porra nenhuma.
|