Оптимизация рандомной выборки из 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 сек?


Ответы (0 шт):