У меня есть пара очень маленьких SQL-запросов, выполнение которых занимает слишком много времени.
if ($USER) {
$ss_a = mysql_fetch_array(mysql_query("SELECT uri FROM styles WHERE id=".$USER["styles"]));
if ($ss_a) {
$ss_uri = $ss_a["uri"];
}
}
Таким образом, требуется 0,7605552 с «ВЫБЕРИТЕ URI ИЗ СТИЛЕЙ, ГДЕ id = 1»
И второй стиль кода
if (!$ss_uri) {
($r = mysql_query("SELECT uri FROM styles WHERE id=1")) or die(mysql_error());
Другие маленькие запросы, которые занимают слишком много времени.
0.5507469 ВЫБЕРИТЕ СЧЕТЧИК (id) КАК проблемы из службы поддержки ГДЕ решены = ‘нет’
Код:
$res = mysql_query("SELECT COUNT(id) AS problems FROM helpdesk WHERE solved = 'no'");
$arr = mysql_fetch_assoc($res);
$problems = $arr['problems'];
Есть ли способ оптимизировать эти или что-то?
Индексы могут помочь. Я бы предложил попробовать:
create index idx_styles_id_uri on style(id, uri)
create index idx_helpdesk_solved_id on helpdesk(solved, id)
Других решений пока нет …