Márcio Gomes vs SQL – Fight 2

Se você tem menos de 18 anos, ou sofre de problemas cardíacos, ou não tem certeza sobre suas convicções religiosas, ou não manja de UPDATE, então NÃO PROSSIGA.

Eu e o Márcio Gomes, em uma discussão sobre SQL (o que nunca dá bons resultados), nos deparamos com o bendito do ‘WHERE 1=1’, que em um momento de insanidade transformamos em ‘WHERE SQRT(SQUARE(1 + 1)) * 3 = 6’. Para testar o fruto desta capacidade criativa, optamos por comparar planos de execução, de uma query sem WHERE, outra com o ‘WHERE 1=1’ e outra com ‘WHERE SQRT(SQUARE(1 + 1)) * 3 = 6’.

Veja como ‘WHERE SQRT(SQUARE(1 + 1)) * 3 = 6’ tem menor custo que as outras consultas: #sqn

Enganamos o plano de execução do SQL? Onde está seu deus agora?

Para quem duvida, segue o script:

CREATE TABLE T (ID INT NOT NULL, TXT CHAR(32) NOT NULL)

;WITH CTE (ID) AS (
SELECT 1
UNION ALL
SELECT ID + 1 FROM CTE WHERE ID < 100000
)

INSERT INTO T
SELECT ID, REPLICATE('0', 32) FROM CTE
OPTION (MAXRECURSION 0)

UPDATE T SET ID = 1
UPDATE T SET ID = 1 WHERE 1 = 1
UPDATE T SET ID = 1 WHERE SQRT(SQUARE(1 + 1)) * 3 = 6

Márcio Gomes vs SQL – Fight 1

Olá pessoas,

A partir desta semana, o Márcio Gomes terá um espaço para expressar todo seu amor ao SQL, então boa diversão!

SQL Go To Hell… PLZ!

por Márcio Gomes

Antes de tudo eu gostaria de agradecer ao Paulo pelo espaço cedido no SQL FROM HELL, não existe lugar melhor na internet para eu expressar meus sentimentos em relação ao SQL.

Que eu ODEIO SQL todo mundo sabe, no entanto o que pouca gente sabe é que o SQL ME ODEIA! Sim… essa relação de guerra e paz começou em 2002 e segue até hoje e posso garantir com todas as letras, o SQL não perde uma única chance de me sacanear, quando tudo parece que vai dar certo de repente algo sobrenatural acontece e somente recorrendo à ajuda do Paulo combinado com duas velas pretas na encruzilhada as coisas voltam ao normal.

Hoje como é a estreia dos relatos sobre a guerra cotidiana tentando sobreviver aos ataques terroristas do SQL Server deixo um print screen mostrando que o .NET Framework concorda comigo.

Exatamente isto que você leu meu caro amigo “NO BANDO DE DADOS” (sic), o SQL é uma espécie de clã, horda, bando de dados armados que criam batalhas digitais que nos post futuros serão descritas aqui no SQL FROM HELL!

PowerShell – Especial de Natal

Boa noite pessoas,

Seguindo tradição do blog, pelo terceiro Natal consecutivo, estava planejando algo bem diferente dos anos anteriores, e em conversas com o @WilliamPietro, tivemos a ideia de criar um script de PowerShell especial para esta data.

Abaixo o script:

$a = (Get-Host).UI.RawUI
$a.WindowTitle = "PowerShell - Especial de Natal"
$b = $a.WindowSize
$b.Width = 18
$b.Height = 12
$a.WindowSize = $b

$c = "        .`n       .#.`n      .###.`n     .#%##%.`n    .%##%###.`n   .##%###%##.`n  .#%###%##%##.`n        #`n        #`n"

1..300 | % {
	$a.BackgroundColor = "darkgreen"
	$a.ForegroundColor = "white"
	cls
	Write-Host $c
	Write-Host "    HO HO HO"
	Wait-Event -timeout 1
	$a.BackgroundColor = "red"
	$a.ForegroundColor = "white"
	cls
	Write-Host $c
	Write-Host "   Feliz Natal"
	Wait-Event -timeout 1
}

Resultado, durante aproximadamente 10 minutos a tela do PowerShell exibirá de forma alternada as seguintes mensagens:

Boas festas, e que tenhamos um ótimo 2012!

Artigos relacionados:

Artigo de Natal de 2009

Artigo de Natal de 2010

Um belo exemplo de uma Query From Hell

E ai pessoas, fazendo um pingback de um link que o @zavaschi passou ontem no twitter (RT original do @dsfnet) que realmente mostra um belo exemplo de uma Query From Hell:

http://thedailywtf.com/Articles/The-Query-of-Despair.aspx

Se alguem quiser encaminhar outros exemplos para publicar no blog, fiquem a vontade!

Query 4 Fun – E-mail para o Suporte

Na semana passada, recebi da Wan (minha namorada) por e-mail:

Olá Suporte,

Estou precisando de um suporte aqui, será que você pode me ajudar?

Meu sistema travou, os sintomas são de saudade… não paro de pensa em você e acho que você vai ter que abrir uma Ordem de Serviço no seu coração e pensar no meu caso.

Eu tento fechar as janelas que estão abertas (olhos) e daí é pior ainda… Pode fazer alguma coisa a respeito?

Preciso de uma resposta urgente.

Att.

Usuária do seu sistema

Outro link legal para quem esta solteiro é este formulário:

http://www.naosalvo.com.br/vc/nerds-tambem-amam

#NerdsTambemAmam

Query 4 Fun – O que é um Looping? By @WilliamPietro

Abaixo uma ilustração do que é Looping enviada pelo @WilliamPietro. Se trata de uma explicação #OLD, mas ainda vale a pena conferir:

Para quem não conhece o conceito de LOOPING, trata-se de uma terminologia assim nomeada por estudiosos de informática para definir uma confusão criada e que não possui uma explicação concreta para solução do problema…

Bem, vou tentar explicar em poucas palavras esta famosa terminologia: Diz-se que um programa de computação “entrou em loop” quando acontece a seguinte situação:

O diretor chama sua secretária e diz:

– Senhorita Vanessa: Tenho um seminário na Argentina por uma semana e quero que você me acompanhe. Por favor, faça os preparativos da viagem…

A secretária liga para seu marido:

– Alô, João! Vou viajar para o exterior com o diretor por uma semana. Cuide-se meu querido!

O marido liga para sua amante:

– Eleonor, meu amor. A bruxa vai viajar para o exterior por uma semana, vamos passar esta semana juntos, minha princesa …

No momento seguinte, a amante liga para o menino para quem dá aulas particulares:

– Joãozinho, estou com muito trabalho esta semana e não vou poder te dar aulas ….

A criança liga para seu avô:

– Vovô, esta semana não terei aulas, minha professora estará muito ocupada. Vamos passar a semana juntos?

O avô (que é o diretor desta história) chama imediatamente a secretária:

– Senhorita Vanessa venha rápido, suspenda a viagem, vou passar a semana com meu netinho que não vejo há um ano, por isso não vamos participar mais do seminário. Cancele a viagem e o hotel.

A secretária liga para seu marido:

– Ai amorzinho! O babaca do diretor mudou de idéia e acabou de cancelar a viagem.

O marido liga para sua amante:

– Amorzinho, desculpe! Não podemos mais passar a semana juntinhos! A viagem da mocréia da minha mulher foi cancelada.

A amante liga para o menino a quem dá aulas particulares:

– Joãozinho, mudei os planos: esta semana teremos aulas como de costume.

A criança liga para o avô:

– Puta merda, vovô! A véia da minha professora me disse que terei aulas. Desculpe mas não poderemos ficar juntos esta semana.

Seu avô liga para a secretária:

– Senhorita Vanessa , meu neto acabou de me ligar e dizer que não vai poder ficar comigo essa semana, porque ele terá aulas. Portanto dê prosseguimento à viagem para o Seminário.

Entendeu agora o que é um LOOPING ????

Query 4 Fun – Lançamento do livro

É com alegria que hoje apresento a capa e sumário do meu mais novo fictício livro, Creating Your Own SQL HELL For Dummies:

Creating Your Own SQL HELL

Sumário:

  1. SQL Injection! ' AND 1=1 --
    Estudo de caso: PSN (Playstation Network), SQL Injection e dados sem criptografia:
    http://www.kvcwebsitehosting.com/hosting-news/919/hackers_attack_sony_pictures_with_single_sql_injection.html
  2. Backup é para os fracos! Ou vai dizer que Chuck Norris faz backup?
    https://sqlfromhell.wordpress.com/2010/10/20/plano-de-manutencao-backup
  3. Para que se preocupar com o que é inevitável?
    https://sqlfromhell.wordpress.com/2009/10/14/twitter-capacidade-desempenho-e-disponibilidade
  4. Se o que é ruim só tende a piorar, para que vou se preocupar com índices?
    https://sqlfromhell.wordpress.com/2010/08/17/performance-heap
  5. Problemas? Encontre um culpado!
    https://sqlfromhell.wordpress.com/2010/06/27/culpado

Links interessantes:

Socorro Vieira – MSDN Webcast: Projetando Banco de Dados com SQL Server 2008:
https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=pt-BR&EventID=1032475163&CountryCode=BR

A Gestão da Qualidade na Área de TI:
https://sqlfromhell.wordpress.com/2011/06/05/a-gestao-da-qualidade-na-area-de-ti