С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
3 / 3 / 0
Регистрация: 14.12.2010
Сообщений: 106

Тяжелые и легкие(для сервера) функции PHP

11.02.2012, 20:03. Показов 1141. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сел за оптимизацию кода. Возникло пару вопросов:
1) Если текст содержит около 2000 символов, то сильно ли будет кушать ресурсы сервера функция explode (в цикле с количеством выполнений = 20). Имеет ли смысл добавлять новые поля в БД чтоб раз и навсегда делать explode, а не каждый раз?

2) Очевидно, что делать запросы к БД в цикле глупо, но если запрос вытягивает только кол-во строк:
PHP
1
$sql="SELECT count(*) FROM `comments` WHERE news='$id_news'";
И как можно реализовать по-другому (например, я могу вытянуть сразу кол-ва комментов к каждой новости, но вот в цикле не смогу использовать)

3) Что будет "кушать" ресурсов сервера больше: несколько десятков запросов к БД или 1 буферизация и кеширование результатов буферизации:
PHP
1
2
3
4
5
6
7
ob_start();
......
$buffer = ob_get_contents();
ob_end_flush(); 
$fp = fopen($file_cache_name_right, 'w'); 
fwrite($fp, $buffer); 
fclose($fp);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.02.2012, 20:03
Ответы с готовыми решениями:

За наименьшее количество взвешиваний гарантированно рассортировать монеты на легкие и тяжелые
Помогите решит задачку: Имеется 6 одинаковых по виду монет, каждая из которых может весить либо 10 либо 11 граммов, и чашечные весы...

Php код для рестарта сервера CS 1.6
Добрый день. Есть панель управления сервером CS 1.6 с тремя кнопками Start, Restart, Stop. Возможно ли такое: Запустить выполнение...

Использование PHP-хостинга для игрового сервера
Всем привет, возник у меня ещё один вопрос... Вот к примеру, играю я по нету на серве в игру, задумался о своем сервере, а могу ли я как...

7
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
11.02.2012, 21:14
Цитата Сообщение от alexandre0sheva Посмотреть сообщение
И как можно реализовать по-другом
Нужно получить таблицу типа "news | count"?
1
3 / 3 / 0
Регистрация: 14.12.2010
Сообщений: 106
11.02.2012, 21:20  [ТС]
Поясню. Вытянул все новости из БД. В цикле идет публикация нескольких полей каждой строки:
PHP
1
2
3
4
5
6
7
8
9
10
while($row_last_blogs=mysql_fetch_array($res_last_blogs))
{
$tema_this_blogs = defend_text1($row_last_blogs["tema"]);
$id_blogs_right = $row_last_blogs["id"];
$sql_count_comments_blogs="SELECT count(*) FROM `comments_blog` WHERE news='$id_blogs_right'";
$res_count_comments_blogs=db_query($sql_count_comments_blogs);
$row_count_comments_blogs=mysql_fetch_row($res_count_comments_blogs);
$total_comments_blogs=$row_count_comments_blogs[0];
echo '<li><a href="blogs.php?id_blog='.$row_last_blogs["id"].'" title="'.$tema_this_blogs.'">'.$tema_this_blogs.' <img src="images/comments.png" width=16 height=16 title="'.$tema_this_blogs.'" alt="'.$tema_this_blogs.'" />'.$total_comments_blogs.'</a></li>';
}
Однако комменты в другой таблице и приходится каждый шаг в цикле тянуть из БД. Как можно преобразовать?

Добавлено через 1 минуту
Пояснение: db_query = mysql_query . Только я ее ввел чтоб считать кол-во запросов к БД на странице.
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
11.02.2012, 21:22
Цитата Сообщение от alexandre0sheva Посмотреть сообщение
Как можно преобразовать?
Я не понял что нужно. Нужно одним запросом получить таблицу "news | comments"?
1
3 / 3 / 0
Регистрация: 14.12.2010
Сообщений: 106
11.02.2012, 21:28  [ТС]
Евгений М., не совсем.
Как сейчас: 1 запрос вытаскивает новости из таблицы blogs, а потом в цикле множество раз кол-во комментов из таблицы comments.
Как хотелось бы: 1 запрос вытаскивает новости, 2-ой запрос вытаскивает комменты к этим самым новостям. а потом как-то построить цикл, чтоб одновременно шло соответствие: новость---кол-во комментов именно к ней
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
11.02.2012, 21:36
Вроде так:
SQL
1
SELECT news_id FROM news_table
Далее по циклу выдергиваем $news_id
SQL
1
SELECT comments FROM comments_table WHERE news_id = $news_id
Выдергиваем коменты. Получаем количество коментов с помощью http://php.net/manual/en/funct... m-rows.php
Продолжаем цикл.
0
3 / 3 / 0
Регистрация: 14.12.2010
Сообщений: 106
11.02.2012, 21:46  [ТС]
Евгений М., вы не поняли. у меня так и было. я хотел узнать как можно обойтись без множества выдергиваний кол-ва комментов в цикле.

Добавлено через 2 минуты
ладно, а как насчет других 2х проблем в топике?
Если текст содержит около 2000 символов, то сильно ли будет кушать ресурсы сервера функция explode (в цикле с количеством выполнений = 20). Имеет ли смысл добавлять новые поля в БД чтоб раз и навсегда делать explode, а не каждый раз?

Что будет "кушать" ресурсов сервера больше: несколько десятков запросов к БД или 1 буферизация и кеширование результатов буферизации:
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
13.02.2012, 16:20
Пробуй, тут раз на раз не приходится.
Если у тебя 20 итераций, но текста при этом 10 мб - завалит мама не горюй.
А если 100 итераций на 20кб - ничего особенного.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2012, 16:20
Помогаю со студенческими работами здесь

PHP, новая задача для apache сервера.
Здравствуйте, у меня ось ubuntu. Была проблема с несколькими проектами. Каждый проект лежит в разных папках, помещёных в директории...

Получить php скрипт для выполнения с другого сервера
Здравствуйте, есть следующая необходимость и не знаю как правильно ее решать: На сейчас существуют 5 различных vds на которых по CRON...

Общая база для android и ios. Реализация сервера на php
Здравствуйте. Помогите пожалуйста. Мы с другом решили сделать приложение. Одно на android, другое на ios. База приложения будет...

Общая база для android и ios. Реализация сервера на php
Здравствуйте. Помогите пожалуйста. Мы с другом решили сделать приложение. Одно на android, другое на ios. База приложения будет...

Две zadaчи легкие, но не для меня.
1 Если данное число x меньше нуля,то z присвоить значение большего из двух чисел x и y ,иначе z присвойте значение суммы квадратов этих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru