Facebook
From rauan, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 138
  1. CREATE Procedure doseed(p1 int)
  2. BEGIN
  3.     SET @x = 0;
  4.     REPEAT
  5.         SET @x = @x + 1;
  6.         INSERT INTO `CALL` (firstname, lastname, email, current)
  7.         VALUES ('rauan', 'rakhmet', '[email protected]', NOW() + INTERVAL @x MINUTE );        
  8.     until @x >= p1
  9.     END REPEAT;
  10. END;
  11.  
  12. CALL doseed(500000);
  13.  
  14. EXPLAIN
  15. Select *
  16. From `CALL`
  17. Where id in (100, 101, 102);
  18.  
  19. CREATE Procedure docont(p1 int)
  20. BEGIN
  21.     SET @x = 0;
  22.     REPEAT
  23.         SET @x = @x + 1;
  24.         INSERT INTO `contact` (start, end)
  25.         VALUES (NOW() - INTERVAL 10000 MINUTE, NOW() + INTERVAL 10000 MINUTE );
  26.     until @x >= p1
  27.         END REPEAT;
  28. END;
  29.  
  30. CALL docont(2000);
  31.  
  32. SELECT count(*) FROM `CALL` c
  33. WHERE EXISTS
  34.           (SELECT *
  35.           FROM (SELECT * FROM contact WHERE contact.id < 4000) as tp
  36.            WHERE c.id=tp.id and c.current > tp.start and c.current < tp.end);
  37.  
  38. UPDATE contact
  39. SET end = now() + INTERVAL 16 YEAR
  40. WHERE id > 0;