?php function generateRandomhash($length = 5) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = ''; for ($i = 0; $i < $length; $i++) { } return $randomString; } $mysqli = new mysqli("localhost","test","test","test"); $db_name="test"; $q = "SELECT * FROM `$db_name` WHERE hash IS NULL LIMIT 1000;"; $res = $mysqli -> query($q); while($i = mysqli_fetch_array($res,MYSQLI_ASSOC)) { $hash = generateRandomhash(); $cq = "SELECT * FROM `$db_name` WHERE hash='$hash'"; $resc = $mysqli -> query($cq); if (mysqli_num_rows($resc) == 0 ) { $uq = "UPDATE `$db_name` SET hash='$hash' WHERE id='$i[id]'"; $mysqli -> query($uq); } else { } } ?>
Z początku działa szybko (wiadomo, nie ma jeszcze tyle hashy co się powtarzają) ale pod koniec wolniej. Na obecnej maszynie oszacowałem czas wykonywania się tego kody na 50-100 godzin. Jak mogę to zoptywalizować?