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

Форум MySQL

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

 

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

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

тема: Бенчмарк врёт или нет?
 
 автор: Хулиган   (27.11.2009 в 11:45)   письмо автору
 
 

mysql> select benchmark(1000000000,(select main.product from `main`, `dep_6BC76F81` where dep_6BC76F81.count < 0 and main.code=dep_6BC76F81.code
order by dep_6BC76F81.count DESC limit 1));

16.17 сек.

mysql> select benchmark(1000000000,(select product from `dep_6BC76F81` where count < 0 order by count DESC limit 1));

16.17 сек.

В первом случае запрос к двум таблицам, во втором - к одной. Время запроса одинаково. Не верю своим глазам.

Помню, что когда-то сравнивал время запросов к одной и к двум таблицам - к двум таблицам было в 4-5 раз медленнее.
А почему сейчас одинаково? Не должно быть такого.

P.S.
Данные одинаковые (поля таблиц дублируют друг друга)

  Ответить  
 
 автор: Trianon   (27.11.2009 в 11:56)   письмо автору
 
   для: Хулиган   (27.11.2009 в 11:45)
 

так code небось первичный ключ?

  Ответить  
 
 автор: Хулиган   (27.11.2009 в 13:25)   письмо автору
 
   для: Trianon   (27.11.2009 в 11:56)
 

в обеих таблицах code стоит как UNIQUE.
Не PRIMARY.
Это может влиять на скорость? Если бы был PRIMARY - понятно, а уникальный - не понятно...
В любом случае разница должна ведь быть PRIMARY или нет. Хоть не в разы, но хотя бы небольшая.

  Ответить  
 
 автор: Хулиган   (27.11.2009 в 17:02)   письмо автору
 
   для: Trianon   (27.11.2009 в 11:56)
 

Попробовал убрать UNIQUE и поставить для code PRIMARY - результат не поменялся. Те же цифры.
Пробовал вообще все ключи убрать - опять те же цифры.
Зачем тогда вообще ключи нужны, если они никак не влияют на скорость выполнения выборки?
Может дело в том, что тип таблиц - InnoDB?

И вообще, какие-то странные цифры: 16 сек на 1000000000 (1 млрд.) запросов. Что-то нереально быстро...
Сам процессор не делает такого количества операций, а тут не просто процессорная операция, а запрос к БД, который на порядки медленнее.
Что-то здесь не так.

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

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