Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скорость запросов к MySQL на PHP и Python
 
 автор: ChieFSS   (09.04.2014 в 16:45)   письмо автору
 
 

Делаю тесты на обработку строк, объектов, массивов и т.д.
Обычно Python показывает результаты раз в 10 быстрей чем php.
Но почему-то работа с базой данных показывает обратный результат...

PHP: 0.8826 сек
Python: 1.9600 сек

PHP (mysql или PDO):
for ($i = 0; $i < 10000; $i++)
mysql_query('SELECT * FROM contacts ORDER BY RAND()');

Python (MySQLdb):
for i in xrange(10000):
cursor.execute('SELECT * FROM contacts ORDER BY RAND()')

Понимаю что тесты искуственные, но не должна же быть такая большая разница?

  Ответить  
 
 автор: Саня   (09.04.2014 в 20:12)   письмо автору
 
   для: ChieFSS   (09.04.2014 в 16:45)
 

Дело в нижележашей библиотеке, реализующей протокол mysql.
У вас PHP собран с модулем mysqlnd?

  Ответить  
 
 автор: ChieFSS   (10.04.2014 в 10:27)   письмо автору
 
   для: Саня   (09.04.2014 в 20:12)
 

видимо да. phpinfo() :

mysqlnd
mysqlnd => enabled
Version => mysqlnd 5.0.10

pdo_mysql
Client API version => mysqlnd 5.0.10

  Ответить  
 
 автор: Саня   (10.04.2014 в 17:06)   письмо автору
 
   для: ChieFSS   (10.04.2014 в 10:27)
 

Попробуйте замерить время выполнения этого же кода на другой версии PHP, которая использует libmysql.so, а не mysqlnd.

  Ответить  
 
 автор: ChieFSS   (11.04.2014 в 11:07)   письмо автору
 
   для: Саня   (10.04.2014 в 17:06)
 

На самом деле больше интересно почему питон такой тормозной :)
Можно ли как-то ускорить запросы или результат с библиотекой libmysql.so поможет в этом разобраться?

  Ответить  
 
 автор: cheops   (11.04.2014 в 19:52)   письмо автору
 
   для: ChieFSS   (11.04.2014 в 11:07)
 

Питон третий используется?

  Ответить  
 
 автор: ChieFSS   (13.04.2014 в 15:06)   письмо автору
 
   для: cheops   (11.04.2014 в 19:52)
 

Нет, Питон 2

  Ответить  
 
 автор: cheops   (09.04.2014 в 22:01)   письмо автору
 
   для: ChieFSS   (09.04.2014 в 16:45)
 

Сколько раз тесты запускались? MySQL сервер был "прогрет"?

  Ответить  
 
 автор: ChieFSS   (10.04.2014 в 10:33)   письмо автору
 
   для: cheops   (09.04.2014 в 22:01)
 

Тесты запускал больше 30 раз точно и специально добавил RAND() чтобы из кэша не брались данные

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования