Оптимизация рандомной выборки из MySQL
есть таблица в которой сейчас 5 тыс строк (в дальнейшем будет раз в 20 больше).
Сейчас пользуюсь этим:
StartFun:
$i = 0;
$getBlackTags = mysqli_fetch_array(mysqli_query($link, "SELECT * FROM `config` WHERE `type` = 'BlackTags_Users'"))['function'];
$sqlBooru = mysqli_query($link, "SELECT * FROM `danbooru_img` ORDER BY RAND() LIMIT 1");
while ($resBooru = mysqli_fetch_array($sqlBooru)) {
if (!preg_match("#$getBlackTags#", $resBooru['tags'])) {
$fileFormat = preg_replace("#.*[.]#", "", $resBooru['file_url']);
copy($resBooru['file_url'], $_SERVER['DOCUMENT_ROOT']."/img/msg/".$resBooru['id'].".".$fileFormat);
$file_load = new PhotoLoadMessage();
$file_load->config($access_token, $_SERVER['DOCUMENT_ROOT']."/img/msg/".$resBooru['id'].".".$fileFormat);
unlink($_SERVER['DOCUMENT_ROOT']."/img/msg/".$resBooru['id'].".".$fileFormat);
$ms->send(NULL, "photo{$file_load->getInfo()->owner_id}_{$file_load->getInfo()->id}", $keyboard, $user_id, $access_token);
} else {
goto StartFun;
}
}
mysqli_free_result($sqlBooru);
На данном этапе время запросе уже занимает "0.0230 сек", можно как-то уменьшить её до комфортных ~0.0050 сек?