The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"MySQL InnoDB или MyISAM ?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"MySQL InnoDB или MyISAM ?"  +/
Сообщение от Васька (??) on 16-Апр-06, 09:37 
Добрый день,

Есть биллинг, который пишет в mysql информацию о трафике с netflow.
Спустя неделю сервер (Cel600, dimm 128mb, очень старый диск 4гб. ОС FreeBSD, MySQL 4.0.24)
начал сильно притормаживать на отчетах. Тип всех таблиц был InnoDB, объем базы данных 22метра. Решил испытать MyISAM. Создал дамп, поменял тип таблиц и пересоздал базу. Объем базы данных уменьшился до 8.6 метров, скорость возрасла примерно на 70%. И перезаливка дампа с таблицаими типа InnoDB идет в несколько раз дольше. Чем InnoDB лучше MyISAM, почему все советуют именно его?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от DeadMustdie email(??) on 16-Апр-06, 10:49 
>Есть биллинг, который пишет в mysql информацию о трафике с netflow.
>Спустя неделю сервер (Cel600, dimm 128mb, очень старый диск 4гб. ОС FreeBSD,
>MySQL 4.0.24) начал сильно притормаживать на отчетах. Тип всех таблиц
>был InnoDB, объем базы данных 22метра.

При таких объемах и на таком железе "тормоза" означают кривую структуру базы
данных либо плохо оптимизированные запросы, используемые в отчетах. IMHO.

Клычевая разница между MyISAM и InnoDB состоит в поддержке транзакционных
механизмов. В простейших случаях это просто означает, что InnoDB надежнее.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от Васька (??) on 16-Апр-06, 13:58 

>При таких объемах и на таком железе "тормоза" означают кривую структуру базы
>
>данных либо плохо оптимизированные запросы, используемые в отчетах. IMHO.
>
>Клычевая разница между MyISAM и InnoDB состоит в поддержке транзакционных
>механизмов. В простейших случаях это просто означает, что InnoDB надежнее.

Полчитал доку, переписал запросы. Время генерации отчетов уменьшилось с 3сек. до 0.02сек.
Круто, спасибо :)

Туманная надежность InnoDB vs очевидной скорости MyISAM... Из 2-х зол решил выбрать быстрейшее :)От rm -rf / не спасет InnoDB :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от ACCA (ok) on 17-Апр-06, 09:27 
>Туманная надежность InnoDB vs очевидной скорости MyISAM... Из 2-х зол решил выбрать
>быстрейшее :)От rm -rf / не спасет InnoDB :)

А от слёта по питанию?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от Forth (??) on 17-Апр-06, 09:33 
>А от слёта по питанию?
От слета по питанию лучше всего спасет ups.:)  
По теме: myisam транзакции не поддерживает, что особенно плохо, когда надо одновременно нескольким приложениям писать в таблицу и читать оттуда. Зато работает да, быстрей.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от chip email(ok) on 17-Апр-06, 12:39 

>По теме: myisam транзакции не поддерживает,

Что очень порой "радует" (приводит в неописуемый *матерный* восторг, я бы даже сказал) её владельцев [myisam владельцев] при ее crash'е. Который судя по форумам, бывает не так уж и редко.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от ACCA (ok) on 19-Апр-06, 21:07 
>Что очень порой "радует" (приводит в неописуемый *матерный* восторг, я бы даже
>сказал) её владельцев [myisam владельцев] при ее crash'е. Который судя по
>форумам, бывает не так уж и редко.

Постоянно бывает. И слёт по питанию бывает и облом в софте на середине операции. Не хочешь транзакции - не пользуйся, значит у тебя пока учебная задача и их не требует.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от chip email(ok) on 19-Апр-06, 23:00 
>>Что очень порой "радует" (приводит в неописуемый *матерный* восторг, я бы даже
>>сказал) её владельцев [myisam владельцев] при ее crash'е. Который судя по
>>форумам, бывает не так уж и редко.
>
>Постоянно бывает. И слёт по питанию бывает и облом в софте на
>середине операции. Не хочешь транзакции - не пользуйся, значит у тебя
>пока учебная задача и их не требует.

Что-то не вполне понял про учебную задачу?! Это кому?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от RedAss email on 20-Апр-06, 19:51 
>Полчитал доку, переписал запросы. Время генерации отчетов уменьшилось с 3сек. до 0.02сек.
>Круто, спасибо :)
>Туманная надежность InnoDB vs очевидной скорости MyISAM... Из 2-х зол решил выбрать

так надо под задачу инструмент выбирать, а не наоборот.
в данном конкретном случае это абсолютно правильный выбор, я бы назвал ослом того, кто InnoDB создал.
myisam не предоствляет возможности использовать foreign-ключи, не контролирует целостность базы.
это бывает очень важно, если много таблиц и база хорошо нормализована.
а быстро писать "на полном скаку" в одну таблицу - лучше myisam нет.
я бы ещё подумал, нет ли смысла прикрутить heap для промежуточных результатов.
          http://dev.mysql.com/doc/refman/4.0/ru/heap.html
но это зависит от архитектуры биллинга и алгоритма его работы.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от bashprompt on 20-Апр-06, 22:31 
>а быстро писать "на полном скаку" в одну таблицу - лучше myisam
>нет.

MyISAM умеет быстро читать, с записью как раз есть большие проблемы, из-за чего и появились отложенные insert, без них на большом объеме обновлений myisam затыкается.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от Niam on 20-Апр-06, 23:00 
>>а быстро писать "на полном скаку" в одну таблицу - лучше myisam
>>нет.
>
>MyISAM умеет быстро читать, с записью как раз есть большие проблемы, из-за
>чего и появились отложенные insert, без них на большом объеме обновлений
>myisam затыкается.


На моем опыте - MyISAM выигрывает здоровски с простыми запросами и небольшой БД(до 500000 записей).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от smb on 21-Апр-06, 01:12 
>>>а быстро писать "на полном скаку" в одну таблицу - лучше myisam
>>>нет.
>>
>>MyISAM умеет быстро читать, с записью как раз есть большие проблемы, из-за
>>чего и появились отложенные insert, без них на большом объеме обновлений
>>myisam затыкается.
>
>
>На моем опыте - MyISAM выигрывает здоровски с простыми запросами и небольшой
>БД(до 500000 записей).

Странный у вас опыт...Либо руки неоттуда (=/), либо совсем простые запросы, да и то - по синтетикам InnoDB лучше в 1.5-2 раза, см. тесты....На mysql.com черным по белому пишут о том, что в heavy load production лучше юзать InnoDB, основные причины тут уже описаны....

У меня в небольшой базе поисковика ffsearch(2.5kk индексированных файлов, 250-300Мб сама база) время полного ребилда снизилось с 1.5-2 часов до 10-20 минут ;) Это называется блокировки на уровне записей или что такое MyISAM + concurrent SELECT+UPDATE ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от Niam on 21-Апр-06, 03:08 

>Странный у вас опыт...Либо руки неоттуда (=/), либо совсем простые запросы

Вот люди привыкли грубить в рассылках =(. Я же отчетливо написал, что в простых запросах. Тест, понимаешли проводил этих двух движков - где какой лучше.
В принципе, если не применять транзакции - то myISAM лучше может оказаться, но проблема в его ненадежности. Но и многое зависит от конфигурации системы. Они по разному хранят индексы. Если првильно организованы(и правильно используются)(или много памяти) индексы - то стоит смотреть в сторону InnoDB. Если сайтик с простой организацией БД, то я думаю myISAM хватит с головой.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от Alex email(??) on 08-Ноя-06, 09:44 
а если база очень большая, объем данных порядка 800,000,000 записей в таблице, достаточно критична скорость добавления новых данных, и не очень критична скорость селекта, то что лучше - myisam или innodb?
если myisam не поддерживает transactions, означает ли это, что даже если я в Java открыл транзакцию, потом что-то в ней делал, и потом сделал rollback(), то на myisam этот rollback не подействует?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от Igorek email(??) on 10-Дек-09, 14:36 
>если myisam не поддерживает transactions, означает ли это, что даже если я
>в Java открыл транзакцию, потом что-то в ней делал, и потом
>сделал rollback(), то на myisam этот rollback не подействует?

да... проверено, rollback неподействует)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "MySQL InnoDB или MyISAM ?"  +/
Сообщение от uldus (ok) on 18-Апр-06, 20:44 
В MyISAM блокировки на уровне таблицы, а в  InnoDB  ну уровне записи. В момент записи/обновления в MyISAM все кто обращается к этой таблице ждут, если писать пытаются несколько одновременно - совcем плохо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру