Официальный сайт студ.городка НГТУ
Программирование и БД » Тюнинг MySQL для запросов типа UPDATE 

#1  27.10.09 16:14

Тюнинг MySQL для запросов типа UPDATE

Кому-нибудь приходилось сравнивать, что будет бегать быстрее: MyISAM + LOW_PRIORITY + presistent connect или InnoDB, в случае БД из одной таблицы, подавляющее число обращений к которой - UPDATE'ы?

Offline

#2  27.10.09 21:05

Re: Тюнинг MySQL для запросов типа UPDATE

efferson, MyISAM будет быстрее...

Исправлено Jaguar (27.10.09 21:05)

Offline

#3  27.10.09 22:01

Re: Тюнинг MySQL для запросов типа UPDATE

Jaguar, ответ неверный, если много записей - будет рулить иннодб ибо rowlock

Offline

#4  27.10.09 23:38

Re: Тюнинг MySQL для запросов типа UPDATE

XuMiX, при большом кол-ве параллельных селектов? Хим, не смеши...

Offline

#5  28.10.09 14:55

Re: Тюнинг MySQL для запросов типа UPDATE

Jaguar прав:
Тестил через ab (ab -c10 -k -t600 http://hostname/)

INNODB:
Time per request:       122.982 [ms] (mean)

MyISAM:
Time per request:       116.076 [ms] (mean)

MyISAM + Persistent Connect:
Time per request:       87.373 [ms] (mean)

MyISAM + DELAYED/LOW_PRIORITY:
Time per request:       115.356 [ms] (mean)

MyISAM + DELAYED/LOW_PRIORITY + Persistent Connect:
Time per request:       88.709 [ms] (mean)

Offline

#6  28.10.09 17:09

Re: Тюнинг MySQL для запросов типа UPDATE

Jaguar, http://www.mysqlperformanceblog.com/200 … ks-part-1/
http://forums.innodb.com/read.php?4,602,602
http://forums.innodb.com/read.php?4,855,855
ну и так далее, гугль в помощь
efferson, Innodb тюнить надо

Offline

#7  28.10.09 17:37

Re: Тюнинг MySQL для запросов типа UPDATE

Честно говоря, я затрудняюсь объяснить эти результаты. На сколько мне известно, да и в интернетах пишут (http://mysqldatabaseadministration.blog … 0352156586), что ввиду используемой в InnoDB блокировки на уровне строки, для операций с манипуляцией данными он должен подходить лучше, чем MyISAM, блокирующий таблицу целиком.

Offline

#8  29.10.09 10:24

Re: Тюнинг MySQL для запросов типа UPDATE

XuMiX написал(а):

Innodb тюнить надо

Вилен, MyISAM тож поддается тюнингу...

efferson написал(а):

На сколько мне известно, да и в интернетах пишут, что ввиду используемой в InnoDB блокировки на уровне строки, для операций с манипуляцией данными он должен подходить лучше, чем MyISAM, блокирующий таблицу целиком.

ответь на простой вопрос: "как InnoDB делает UPDATE". На сколько мне известно, происходит удаление старой записи и вставка новой (ессно в одной транзакции). Ну, т.е. как бы тупой INSERT херачится. Так вот на тупой INSERT MyISAM обходит InnoDB. А вот в случае одновременного большого кол-ва апдейтов и селектов InnoDB может обогнать MyISAM запросто. Вот почему рекомендуют MyISAM движек для логгирования.

Исправлено Jaguar (29.10.09 10:25)

Offline

#9  29.10.09 10:26

Re: Тюнинг MySQL для запросов типа UPDATE

efferson написал(а):

Честно говоря, я затрудняюсь объяснить эти результаты.

есть еще немаловажный вопрос: способы проведения тестирования и их "правильность"

Offline

#10  29.10.09 21:28

Re: Тюнинг MySQL для запросов типа UPDATE

Jaguar написал(а):

XuMiX, при большом кол-ве параллельных селектов? Хим, не смеши...

речь шла про апдейты

Offline

Программирование и БД » Тюнинг MySQL для запросов типа UPDATE 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.029 сек.
Выполнено 11 запросов.