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