Advertisement
Fhernd

RendimientoIsNullvsCoalesce.sql

Jul 24th, 2015
21,073
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.85 KB | None | 0 0
  1. -- OrtizOL - xCSw - http://ortizol.blogspot.com
  2.  
  3. DECLARE @i INT SET @i = 1
  4. DECLARE @CPU INT SET @CPU = @@CPU_BUSY
  5. DECLARE @TiempoInicio DATETIME SET @TiempoInicio = GETDATE()
  6.  
  7. WHILE @i <= 1000000
  8. BEGIN
  9.     IF COALESCE('abc', 'def') = 'def'
  10.         PRINT 1
  11.     SET @i = @i + 1
  12. END
  13.  
  14. PRINT 'COALESCE, sin argumentos NULL'
  15. PRINT 'Tiempo total de CPU: ' + CONVERT(varchar, @@CPU_BUSY - @CPU)
  16. PRINT 'Total en milisegundos: ' + CONVERT(varchar, DATEDIFF(ms, @TiempoInicio, GETDATE()))
  17. PRINT ''
  18. GO
  19.  
  20. DECLARE @i INT SET @i = 1
  21. DECLARE @CPU INT SET @CPU = @@CPU_BUSY
  22. DECLARE @TiempoInicio DATETIME SET @TiempoInicio = GETDATE()
  23.  
  24. WHILE @i <= 1000000
  25. BEGIN
  26.     IF ISNULL('abc', 'def') = 'def'
  27.         PRINT 1
  28.     SET @i = @i + 1
  29. END
  30.  
  31. PRINT 'ISNULL, sin argumentos NULL'
  32. PRINT 'Tiempo total de CPU: ' + CONVERT(varchar, @@CPU_BUSY - @CPU)
  33. PRINT 'Total en milisegundos: ' + CONVERT(varchar, DATEDIFF(ms, @TiempoInicio, GETDATE()))
  34. PRINT ''
  35. GO
  36.  
  37. DECLARE @i INT SET @i = 1
  38. DECLARE @CPU INT SET @CPU = @@CPU_BUSY
  39. DECLARE @TiempoInicio DATETIME SET @TiempoInicio = GETDATE()
  40.  
  41. WHILE @i <= 1000000
  42. BEGIN
  43.     IF COALESCE(NULL, 'abc') = 'def'
  44.         PRINT 1
  45.     SET @i = @i + 1
  46. END
  47.  
  48. PRINT 'COALESCE, primer argumento NULL'
  49. PRINT 'Tiempo total de CPU: ' + CONVERT(varchar, @@CPU_BUSY - @CPU)
  50. PRINT 'Total en milisegundos: ' + CONVERT(varchar, DATEDIFF(ms, @TiempoInicio, GETDATE()))
  51. PRINT ''
  52. GO
  53.  
  54. DECLARE @i INT SET @i = 1
  55. DECLARE @CPU INT SET @CPU = @@CPU_BUSY
  56. DECLARE @TiempoInicio DATETIME SET @TiempoInicio = GETDATE()
  57.  
  58. WHILE @i <= 1000000
  59. BEGIN
  60.     IF COALESCE(NULL, 'abc') = 'def'
  61.         PRINT 1
  62.     SET @i = @i + 1
  63. END
  64.  
  65. PRINT 'ISNULL, primer argumento NULL'
  66. PRINT 'Tiempo total de CPU: ' + CONVERT(varchar, @@CPU_BUSY - @CPU)
  67. PRINT 'Total en milisegundos: ' + CONVERT(varchar, DATEDIFF(ms, @TiempoInicio, GETDATE()))
  68. PRINT ''
  69. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement