Saudações caro leitor,
Atenção: O objetivo desse post não é discutir a utilidade inutilidade dessa ferramenta gambiara para montar queries dinamicamente.
Estava eu lendo uns artigos sobre SQL Server e me deparei com um post onde foi colocado a prova a eficiência do “WHERE 1=1”.
O autor fez uma comparação do resultado do plano de execução entre “WHERE 1=1” versus “WHERE SQRT(SQUARE(1 + 1)) * 3 = 6″ ou para quem não entendeu a brincadeira seria 6 = 6 usando funções do SQL Server.
E o resultado…. vocês podem ver abaixo. =\
E eu também cético não acreditei e fui rodar o SQL na minha própria máquina e o resultado é o mesmo… Se você não acredita como eu, rode e veja com seus próprios olhos. Rs
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
Loucura hein?! =\
Abraço e até a próxima.
Referências:
https://sqlfromhell.wordpress.com/2013/10/21/marcio-gomes-vs-sql-fight-2/