Advertisement
Guest User

Untitled

a guest
Mar 19th, 2016
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.47 KB | None | 0 0
  1. <?php
  2.  
  3. $pdo = new PDO('mysql:host=localhost;dbname=big_records_test', 'root', 'YOUR DB PASS');
  4.  
  5. $numOfRecords = 150000;
  6. $msisdnTypes = array('prepaid', 'postpaid', 'hybrid');
  7. $actionTypes = array('Widget / Basic', 'app_start', 'Pregled', 'Usluge / Sve usluge', 'povezivanje broja', 'Usluge / Moje ponude');
  8. $actionTypesCount = count($actionTypes) - 1;
  9. $msisdns = [];
  10.  
  11. $insertSql = "INSERT INTO users (msisdn, activation_date, msisdn_type) VALUES (:msisdn, :activation_date, :msisdn_type)";
  12. $stmt = $pdo->prepare($insertSql);
  13.  
  14. $userMsisdn;
  15. $userMsisdnsType = [];
  16.  
  17. for($i = 0; $i < 200; $i++)
  18. {
  19.     $userMsisdnType = $msisdnTypes[mt_rand(0, 2)];
  20.     $userMsisdn = mt_rand(10000000000, 999999999999);
  21.     $msisdns[] = $userMsisdn;
  22.     $userMsisdnsType[$userMsisdn] = $userMsisdnType;
  23.  
  24.     $stmt->bindParam('msisdn', $userMsisdn);
  25.     $stmt->bindParam('activation_date', date('Y-m-d', mt_rand(1411111550, time())));
  26.     $stmt->bindParam('msisdn_type', $userMsisdnType);
  27.  
  28.     if(!$stmt->execute()) {
  29.         print_r($stmt->errorInfo());
  30.         exit;
  31.     }
  32. }
  33.  
  34.  
  35. $userAgentStrings = [
  36.     'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36',
  37.     'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
  38.     'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko'
  39. ];
  40.  
  41. $insertSql = "INSERT INTO log_archive (msisdn, msisdn_type, date, action, num_actions, useragent, aggregated)
  42.                                      VALUES (:msisdn, :msisdn_type, :date, :action, :num_actions, :useragent, :aggregated)";
  43.  
  44. $stmt = $pdo->prepare($insertSql);
  45.  
  46. echo "\n\n" . date('H:i:s') . "\n\n";
  47.  
  48. for($i = 0; $i < $numOfRecords; $i++)
  49. {
  50.     $userMsisdn = $msisdns[mt_rand(0, 199)];
  51.  
  52.     $stmt->bindParam('msisdn', $userMsisdn);
  53.     $stmt->bindParam('msisdn_type', $userMsisdnsType[$userMsisdn]);
  54.     $stmt->bindParam('date', date('Y-m-d', mt_rand(1411111550, time())));
  55.     $stmt->bindParam('action', $actionTypes[mt_rand(0, $actionTypesCount)]);
  56.     $stmt->bindParam('num_actions', mt_rand(0, 10));
  57.     $stmt->bindParam('useragent', $userAgentStrings[mt_rand(0, 2)]);
  58.     $stmt->bindParam('aggregated', mt_rand(0, 1));
  59.  
  60.     if(!$stmt->execute()) {
  61.         print_r($stmt->errorInfo());
  62.         exit;
  63.     }
  64.  
  65.     if($i !== 0 && $i % 10000 === 0) {
  66.         echo "Inserted records: " . $i . " - " . date('H:i:s') . "\n";
  67.     }
  68. }
  69.  
  70. echo "\n\n" . date('H:i:s') . "\n\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement