Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $_SERVER["dbHost"] = "localhost";
- $_SERVER["dbName"] = "dev_iut";
- $_SERVER["dbUserName"] = "php";
- $_SERVER["dbPassword"] = "php";
- // ================================================== CACHE GENERATOR ==================================================
- $_SERVER["cacheChar"] = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- $_SERVER["cacheCharLength"] = strlen($_SERVER["cacheChar"]);
- $_SERVER["cacheEmailDomain"] = array(
- "aol.com", "att.net", "comcast.net", "facebook.com", "gmail.com", "gmx.com", "googlemail.com",
- "google.com", "hotmail.com", "hotmail.co.uk", "mac.com", "me.com", "mail.com", "msn.com",
- "live.com", "sbcglobal.net", "verizon.net", "yahoo.com", "yahoo.co.uk",
- /* Other global domains */
- "email.com", "games.com" /* AOL */, "gmx.net", "hush.com", "hushmail.com", "icloud.com", "inbox.com",
- "lavabit.com", "love.com" /* AOL */, "outlook.com", "pobox.com", "rocketmail.com" /* Yahoo */,
- "safe-mail.net", "wow.com" /* AOL */, "ygm.com" /* AOL */, "ymail.com" /* Yahoo */, "zoho.com", "fastmail.fm",
- "yandex.com",
- /* United States ISP domains */
- "bellsouth.net", "charter.net", "comcast.net", "cox.net", "earthlink.net", "juno.com",
- /* British ISP domains */
- "btinternet.com", "virginmedia.com", "blueyonder.co.uk", "freeserve.co.uk", "live.co.uk",
- "ntlworld.com", "o2.co.uk", "orange.net", "sky.com", "talktalk.co.uk", "tiscali.co.uk",
- "virgin.net", "wanadoo.co.uk", "bt.com",
- /* Domains used in Asia */
- "sina.com", "qq.com", "naver.com", "hanmail.net", "daum.net", "nate.com", "yahoo.co.jp", "yahoo.co.kr",
- "yahoo.co.id", "yahoo.co.in", "yahoo.com.sg", "yahoo.com.ph",
- /* French ISP domains */
- "hotmail.fr", "live.fr", "laposte.net", "yahoo.fr", "wanadoo.fr", "orange.fr", "gmx.fr", "sfr.fr", "neuf.fr", "free.fr",
- /* German ISP domains */
- "gmx.de", "hotmail.de", "live.de", "online.de", "t-online.de" /* T-Mobile */, "web.de", "yahoo.de",
- /* Russian ISP domains */
- "mail.ru", "rambler.ru", "yandex.ru", "ya.ru", "list.ru",
- /* Belgian ISP domains */
- "hotmail.be", "live.be", "skynet.be", "voo.be", "tvcablenet.be", "telenet.be",
- /* Argentinian ISP domains */
- "hotmail.com.ar", "live.com.ar", "yahoo.com.ar", "fibertel.com.ar", "speedy.com.ar", "arnet.com.ar",
- /* Domains used in Mexico */
- "hotmail.com", "gmail.com", "yahoo.com.mx", "live.com.mx", "yahoo.com", "hotmail.es", "live.com", "hotmail.com.mx",
- "prodigy.net.mx", "msn.com"
- );
- $_SERVER["cacheEmailDomainLength"] = sizeof($_SERVER["cacheEmailDomain"]) - 1;
- //echo sizeof($_SERVER["cacheEmailDomain"]);
- //======================================================= RANDOM =======================================================
- function generateRandomEmail()
- {
- return generateRandomString(10) . "@" . $_SERVER["cacheEmailDomain"][rand(0, $_SERVER["cacheEmailDomainLength"])];
- }
- function generateRandomString($length = 10)
- {
- return substr(str_shuffle($_SERVER["cacheChar"]), 0, $length);
- }
- $_SERVER["db"] = new mysqli($_SERVER["dbHost"], $_SERVER["dbUserName"], $_SERVER["dbPassword"], $_SERVER["dbName"]);
- if ($_SERVER["db"]->connect_errno > 0) {
- die('Unable to connect to database [' . $_SERVER["db"]->connect_error . ']');
- }
- //===================================================== TIME COUNT =====================================================
- function startTime($name)
- {
- $_SERVER[$name] = microtime(true);
- }
- function diffTime($name, $time)
- {
- return $time - $_SERVER[$name];
- }
- function diffTimeToMs($name, $time)
- {
- return diffTime($name, $time);
- }
- function byFile($count)
- {
- $db = new mysqli($_SERVER["dbHost"], $_SERVER["dbUserName"], $_SERVER["dbPassword"], $_SERVER["dbName"]);
- $fp = fopen('data.csv', 'w');
- for ($i = 0; $i < $count; $i++) {
- fputcsv($fp, array(
- "name" => generateRandomString(10),
- "address" => generateRandomString(10),
- "type" => rand(0, 10),
- "deleted" => rand(0, 1),
- "email" => generateRandomEmail()
- ));
- }
- fclose($fp);
- startTime("longWays");
- $sql = "LOAD DATA INFILE '/var/www/data.csv'
- FIELDS TERMINATED BY ','
- ESCAPED BY ''
- LINES TERMINATED BY '\n'
- (name, address, type, deleted, email)";
- if (!$result = $db->query($sql)) {
- die('There was an error running the query [' . $db->error . ']');
- }
- echo $count . " longWaysPDO : " . diffTimeToMs("longWays", microtime(true)) . " s\n";
- }
- function byPacket($count, $packetSize)
- {
- $data = array(
- "name" => generateRandomString(49),
- "address" => generateRandomString(49),
- "type" => rand(0, 50000),
- "email" => generateRandomEmail(),
- );
- startTime("byPacket");
- for ($i = 0; $i < $count / $packetSize; $i++) {
- for ($j = 0; $j < $packetSize; $j++) {
- $sql = "INSERT INTO dev_iut.test(name, address, type, email)
- VALUES";
- $sqlValue[] = "(\"" . addslashes($data["name"]) . "\", \""
- . addslashes($data["address"]) . "\", \""
- . $data["type"] . "\", \""
- . addslashes($data["email"]) .
- "\")";
- if (!$result = $_SERVER["db"]->query($sql . implode(',', $sqlValue))) {
- die('There was an error running the query [' . $_SERVER["db"]->error . ']');
- }
- }
- }
- echo $count . " byPacket : " . diffTimeToMs("byPacket", microtime(true)) . " s\n";
- }
- function longWays($count)
- {
- $db = new mysqli($_SERVER["dbHost"], $_SERVER["dbUserName"], $_SERVER["dbPassword"], $_SERVER["dbName"]);
- startTime("longWays");
- for ($i = 0; $i < $count; $i++) {
- $data = array(
- "name" => generateRandomString(10),
- "address" => generateRandomString(10),
- "type" => rand(0, 10),
- "email" => generateRandomEmail(),
- "deleted" => rand(0, 1)
- );
- $sql = "INSERT INTO dev_iut.test(name, address, type, email, deleted)
- VALUES (\"" . addslashes($data["name"]) . "\", \""
- . addslashes($data["address"]) . "\", \""
- . $data["type"] . "\", \""
- . $data["deleted"] . "\", \""
- . addslashes($data["email"]) .
- "\")\n";
- if (!$result = $db->query($sql)) {
- die('There was an error running the query [' . $db->error . ']');
- }
- }
- echo $count . " longWays : " . diffTimeToMs("longWays", microtime(true)) . " s\n";
- }
- function randomData($count)
- {
- startTime("longWays");
- for ($i = 0; $i < $count; $i++) {
- $data = array(
- "name" => generateRandomString(10),
- "address" => generateRandomString(10),
- "type" => rand(0, 10),
- "email" => generateRandomEmail(),
- "deleted" => rand(0, 1)
- );
- $sql = "INSERT INTO dev_iut.test(name, address, type, email, deleted)
- VALUES (\"" . addslashes($data["name"]) . "\", \""
- . addslashes($data["address"]) . "\", \""
- . $data["type"] . "\", \""
- . $data["deleted"] . "\", \""
- . addslashes($data["email"]) .
- "\")";
- }
- echo "DATA_TYPE = ".json_encode(array(
- "name" => generateRandomString(10),
- "address" => generateRandomString(10),
- "type" => rand(0, 10),
- "email" => generateRandomEmail(),
- "deleted" => rand(0, 1)
- ));
- echo $count . " randomData : " . diffTimeToMs("longWays", microtime(true)) . " s\n";
- }
- //longWays(1000);
- //byPacket(1000, 50);
- byFile(1000);
- randomData(10000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement