Например: Если у Вас запрос выполняется порядка 1 тысячной секунды, то это кешированный запрос и тут Вы ничего не сможете оптимизировать. Отключите кеширование и Вы увидите реальное время выполнения запроса. Это можно оптимизировать. Вопрос: а нужно ли? Изучите хорошенько материалы по кешированию в mySQL и Вы сможете дать себе ответ (на этот вопрос).
ниче там не ляжет ))) как отключить кеширование? Игорь, я выгребаю это не раз в сутки, а при каждом обращении к любой странице сайта
Уже не раз пробовал - ложиться элементарно. В смысле, сервер/сайт перестаёт отвечать (становится недоступен). Уж по какой причине - дело десятое. п.с. Нужно не просто нажать F5 и подержать, а именно понажимать клавишу с периодом 0.3-0.5 (или около того) раз несколько.
Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. Гык) Добавлено спустя 3 минуты 10 секунд: ну думаю) вот так все запросы постепенно и пройдут)?
Если это ответ на другую цитату (про http://snipcode.ru/), то ... "лежит" уже, минут 25. Откройте справку по mySQL и изучите её, внимательно и полно. Если Вы не знаете что есть кеширование в движке и с чем его едят, или хуже того - не хотите знать, то ... Вам ничего не надо оптимизировать, это не Ваше. Добавлено спустя 4 минуты 10 секунд: Может правильно, может нет - вопрос спорный. Получив пару раз отлуп, я больше на этот сайт не пойду, скорее всего, - если владельца это устраивает, то "хозяин-барин".
что бы иметь актуальную информацию на данную секунду все вокруг хуевые, один я (Chushkin) в белом, так? )))
не понял. когда она тебе нужна,тогда и строй выборку. ты эту инфу показыаешь посетителям? кешируй. обновляй раз в 10 минут.
Да нет, мне в общем-то по барабану, у кого там чего. Только одно имеет значение - "что у меня" igordata Если верить таймингу автора, то запросы к БД у него кешируются, т.е. проблема не в запросах, а где-то в другом месте. Думаю, оптимизация запросов и/или структуры БД сейчас мало что ему даст (в целом, конечно). Поэтому я и задал вопрос "А нужно ли?".
ну хочется чтоб все было "красиво" ))) смотрите, объединил 2 запроса в один: Код (PHP): // люди $sql_p = "SELECT COUNT(DISTINCT IDSess) FROM ".$kernel->pub_prefix_get()."_stat_host WHERE `tstc` > '".$hour."' AND `f_people` = 1"; $result_p = mysql_fetch_assoc($kernel->runSQL($sql_p)); // роботы $sql_r = "SELECT COUNT(DISTINCT IDSess) FROM ".$kernel->pub_prefix_get()."_stat_host WHERE `tstc` > '".$hour."' AND `f_people` = 0"; $result_r = mysql_fetch_assoc($kernel->runSQL($sql_r)); в Код (PHP): // люди и роботы $sql = "SELECT COUNT(DISTINCT T1.IDSess) as p, COUNT(DISTINCT T2.IDSess) as r FROM ".$kernel->pub_prefix_get()."_stat_host T1, ".$kernel->pub_prefix_get()."_stat_host T2 WHERE (T1.`tstc` > '".$hour."' AND T1.`f_people` = 1 ) AND ( T2.`tstc` > '".$hour."' AND T2.`f_people` = 0)" ; $result = mysql_fetch_assoc($kernel->runSQL($sql)); чую что что то я делаю не так, ибо этот один выполняется дольше чем те 3 вместе взятые да плюс еще кое какой код... но и запрос я состряпал убогий кмк, можно наверняка проще...
Нажал F5 и подержал не отпуская пару секунд: Добавлено спустя 32 секунды: Потом сам восстанавливается, видимо когда отработают все запросы
Итак по второму кругу. Зачем тебе этот запрос? нет Добавлено спустя 1 минуту: в подходе. надо корректировать мыслительный процесс в сторону современных технологий и понимания механизмов =)
ну и короче вопрос всё еще актуален. Зачем тебе тот запрос? что ты хочешь с него получить, ради чего его используешь, иными словами, какая у него задача?
показать мне и всем остальным, сколько юзеров и ботов заходило и сколько в онлайне За последние 24 часа нас посетили 4102 программиста и 40 роботов. Сейчас ищут 47 программистов ...
Именно по запросу надо его группировать GROUP BY а то что ты сделал ага неправильно)... А зачем реально эт делать если mysql запросы не плохо сам кэширует у него же несложные запросы и их не куча... Было бы круто если идет запросы к примеру из одной таблицы вытащить инфу о категории из другой инфу о товарах из третий еще что то и все это вместе serialize запихнуть как кэш а так зачем)? Лично я особо смыслы закэшировать 1 запрос не вижу если это делает мускл. Просто почистить код) чтоб стал более логичным, что бы уже в не было проще копаться
с чего вы взяли что он будет это кешировать - раз два, надо человеку тренироваться делать всё по-уму.
Для того, чтобы делать все по уме надо начать с другого). Надо вс переписать и научиться для начала грамотно описательно именовать переменные и функции $kernel->pub_prefix_get pub_prefix_get - что это такое понятно лишь из за того в каком контексте используется. Или это $result_r...