powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Повышение производительности mysql обработки
24 сообщений из 24, страница 1 из 1
Повышение производительности mysql обработки
    #37989843
ARST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
5.
6.
7.
$test_source = mysql_query("SELECT * FROM test");
while ($row = mysql_fetch_assoc($test_source))
{
	echo $row['name'];
	echo $row['link'];
	echo $row['text'];
}



Можно ли ускорить выполнение php-скрипта?
(Например вместо while использовать foreach или вместо mysql_fetch_assoc -> mysql_fetch_array)

Какая конструкция будет самой быстрой ? (только результат нужен в виде ассоциативного массива)
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37989855
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARST
Код: php
1.
2.
3.
4.
5.
6.
7.
$test_source = mysql_query("SELECT * FROM test");
while ($row = mysql_fetch_assoc($test_source))
{
	echo $row['name'];
	echo $row['link'];
	echo $row['text'];
}



Можно ли ускорить выполнение php-скрипта?
(Например вместо while использовать foreach или вместо mysql_fetch_assoc -> mysql_fetch_array)

Какая конструкция будет самой быстрой ? (только результат нужен в виде ассоциативного массива)
Вы сами отвечаете на свои вопросы:
Код: php
1.
mysql_fetch_assoc -> mysql_fetch_array


отличаються ли тем что у .._array еще и цифровые возращаються. А это лишние операции, так что асок быстрее.
можете попробовать выполнить это на пдо или mysqli, но сомневаюсь что там что то существеное выграете.

Оптимизироовать надо решение самой задачи, а не инструменты которые у вас есть.
зы. не представляю как вы фореач собираетесь юзать.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37989864
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PDO fetch all можно попробовать.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37989890
ARST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ренат, спасибо за совет. Значит получается данный код нельзя уже оптимизировать.

А на счёт foreach, мне просто нравится функция у фрейма CodeIgniter - result_array()
Код: php
1.
2.
3.
4.
5.
6.
7.
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
   echo $row['title'];
   echo $row['name'];
   echo $row['body'];
}


Ну видимо эта функция на основе while создаёт массивы .


ScareCrow, скажи пожалуйста, "PDO fetch all" для MySQL прокатит, и будет ли выигрыш по производительности? Пользуешься ты им сам?
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37989948
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARSTКакая конструкция будет самой быстрой ?
без разницы
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37989961
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а сколько это у тебя сейчас занимает по времени и сколько элементов ты туда выводишь?
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37989985
ARST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow, я копирую одну таблицу в другую, в таблице ~90 млн. записей, в сек. копируется 1 тыс. (веник SSD)
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37989992
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARSTScareCrow, я копирую одну таблицу в другую, в таблице ~90 млн. записей, в сек. копируется 1 тыс. (веник SSD)
Вы задали вопрос, который никаким боком не соответствует Вашему "копирую одну таблицу в другую".
Вообще-то эту штуку надо делать одним элементарным запросом.
ПС. И никогда не пишите селект-звёздочка.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37990014
ARST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge, там не просто копирование, там привидение таблицы к нормальной форме, разложение всего по сущностям... по другим таблицам... вообщем вопрос стоял в ускорении такого кода...
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37990039
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARST, напишите хранимку если хотите скорость. 90kk записей это десятки гигов данных
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37990109
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARST,

Ну и пишите это дело на SQL. Пхп-то здесь причём? Вы ещё яваскрипт сюда прикрутите.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37990118
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARSTShSerge, там не просто копирование, там привидение таблицы к нормальной форме, разложение всего по сущностям... по другим таблицам... вообщем вопрос стоял в ускорении такого кода...
Неужто нельзя сделать что то наподобии?
Код: php
1.
2.
INSERT INTO table2
SELECT id, column2-column1,.... FROM table1


Вы можете одним запросом вставить что хотите в другую таблицу. Так не таскайте все данные туда сюда: mysql->php->mysql а все делайте на сервере баз данных.
Если уж логика супер сложная то как вам сказали хранимки вам в помошь.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37991342
ARST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там по-любому если только хранимые процедуры, но я в них не очень силён. (К тому же в некоторых запросах мне требуется регулярные выражения, хотя это тоже вроде есть)
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37991348
ARST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И ещё самое главное наверно, что не сделать в самой базе, у меня идут запросы к API сайту.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37991593
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARSTИ ещё самое главное наверно, что не сделать в самой базе, у меня идут запросы к API сайту.
вот это и занимае основное время))
а никак не foreach или while.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37991731
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARST,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$test_source = mysql_query("SELECT * FROM test");
ob_start();
while ($row = mysql_fetch_assoc($test_source))
{
	echo $row['name'];
	echo $row['link'];
	echo $row['text'];
}
ob_end_flush();


попробуйте так
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37991847
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uARSTИ ещё самое главное наверно, что не сделать в самой базе, у меня идут запросы к API сайту.
вот это и занимае основное время))
а никак не foreach или while.
т.е. вы через айпи таскаете всю таблицу и потом в другом месте все это ставляете?
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37992442
Bednii_Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что за
Ренат правильно написал
Код: sql
1.
2.
INSERT INTO table2
SELECT id, column2-column1,.... FROM table1
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37992444
Bednii_Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И что вола тянете?
Хотите скорости пишите хранимку, а нет так ставьте копипаст на ночь и идите спать.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37992831
ARST
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тема закрыта. Хранимая процедуры в моём случаи не годится (идёт обращение к api сайта). Так что получается код быстрей не реализовать чем был. Только интересно было предложение от "artas":
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
ob_start();
while ($row = mysql_fetch_assoc($test_source))
{
	echo $row['name'];
	echo $row['link'];
	echo $row['text'];
}
ob_end_flush();



это будет быстрей работать?
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37992859
Bednii_Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ARSTТема закрыта. Хранимая процедуры в моём случаи не годится (идёт обращение к api сайта). Так что получается код быстрей не реализовать чем был. Только интересно было предложение от "artas":
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
ob_start();
while ($row = mysql_fetch_assoc($test_source))
{
	echo $row['name'];
	echo $row['link'];
	echo $row['text'];
}
ob_end_flush();



это будет быстрей работать?
Замерьте на миллионе, напишите нам время
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37993009
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARSTИ ещё самое главное наверно, что не сделать в самой базе, у меня идут запросы к API сайту.
Если вам безопасность не так важна (к примеру внутри сетки сайт), то можете брать через php файлы с базы данных, что находяться в папке mysql-x.x/data/<database name>/ отпарвлять их приложению-клиенту, а уже клиент приложение подставит их куда надо, и через хранимки все выполнит.
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37993201
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARST,

будет, но это оптимизация РНР. Весь вывод в браузер кешируется, на больших проэктах(где много вызывалось эхо) заметно повышало быстродействие
...
Рейтинг: 0 / 0
Повышение производительности mysql обработки
    #37993490
Bednii_Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
РенатARSTИ ещё самое главное наверно, что не сделать в самой базе, у меня идут запросы к API сайту.
Если вам безопасность не так важна (к примеру внутри сетки сайт), то можете брать через php файлы с базы данных, что находяться в папке mysql-x.x/data/<database name>/ отпарвлять их приложению-клиенту, а уже клиент приложение подставит их куда надо, и через хранимки все выполнит.

Прикол, не знал.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Повышение производительности mysql обработки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]