- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Запросов много. Стоит такой код, но уже не справляется:
$result=@mysql_num_rows($result1);
Говорят что через SELECT COUNT(*), в 10 раз быстрее~. Нашел в таком духе:
$result=@mysql_fetch_array($result1);
Но он не работает, вместо значения $result влезает "Array". :gm:
Я, наверное, где-то накосячил?...
а теперь палю тему :) 10 летней давности :)
лучше всего для оптимизации (в большинстве случаев) хранить количество записей где-то в другом месте. изменять это значение при добавлении/удалении интересующих записей. но это уже тонкая оптимизация.
$result=@mysql_fetch_array($result);
$count = $result[0];
MOP1, сенкс. Если бы не столкнулся с проблемами, боюсь и до этого не дошел бы. -(
А значением тут, как я понимаю, будет уже сам $count?
точно так как вы говорите :)
вот дока: http://ua2.php.net/mysql_fetch_array
а что значит много запросов? много раз подряд выполняется один и тот же select с разными where ?
а что значит много запросов? много раз подряд выполняется один и тот же select с разными where ?
Да, так, 10 раз так.
ужос. почитайте про group by и сможете заменить это одним запросом
Попробую завтра...
Действительно идет подряд оч. много запросов с разными where. П.т.:
$result1=@mysql_fetch_array($result1);
$count1 = $result1[0];
$result2=@mysql_fetch_array($result2);
$count2 = $result2[0];
И т.д...
Запросов много. Стоит такой код, но уже не справляется:
Говорят что через SELECT COUNT(*), в 10 раз быстрее~. Нашел в таком духе:
Но он не работает, вместо значения $result влезает "Array". 😒
Я, наверное, где-то накосячил?...
я не понял.. Вам что надо получить? количество row в соответствии с условием или что?
если первое то:
$result = mysql_result( mysql_query( 'SELECT count(*) WHERE условия' ), 0 );
Real-Unior добавил 09.01.2009 в 06:38
а теперь палю тему :) 10 летней давности :)
лучше всего для оптимизации (в большинстве случаев) хранить количество записей где-то в другом месте. изменять это значение при добавлении/удалении интересующих записей. но это уже тонкая оптимизация.
а теперь палю темы count(*) считает по index, тоесть мускул сам кеширует количество записей :)
'SELECT count(*) будет работать медленее чем 'SELECT * так как count() будет считать все ключи а * обратится в примари, и сразу получит значение.
N1k, ну здесь не так очевидно. а эти границы можно пересчитать математически?
если серия запросов затрагивает весь диапазон, то будет выгодно одним запросом, иначе даже 10 мелких могут быть быстрее одного ( ну конечно если там есть индекс по s1).
запрос приблизительно такой
select sum( if(s1 >= 72 and s1 <= 89,1,0)) as s_72_89, sum(if (s1 >= 90 and s1 <= 95,1,0) as s_90_95, ..
надо проверять