Você sabe que a query é tensa, quando…

… até o percentual do Execution Plan tem overflow…

ExecutionPlanFail-2015-10-02

… ao ponto de apresentar valores negativos…

ExecutionPlanFail-2015-10-02-02

… é, esta query vai dar trabalho.

Anúncios

Vaga para Administrador de Banco de Dados, só que não…

E ai pessoas,

Recebi de um contato, duas vagas bacanas para Administrador de Banco de Dados, com vários requisitos ‘distintos’ e sem necessidade de saber SQL… ou seja, já se foram os dias que Administrador de Banco de Dados precisava manjar de SQL, ou simplesmente saber de Banco de Dados.

Confiram:

Sugestão para o título desta vaga: “DBA de Esquadrias de Alumínio / Data Base Aluminium”

Sugestão para o título desta vaga: “DBA de Photoshop / Dreamweaver Bitmap Administrator”

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!