Архив рубрики: Интернет

MySQL: отличия между MyISAM и InnoDB

Отличия между системами хранения данных MyISAM и InnoDB простым языком.

В данной таблице я попробовал показать разницу между MyISAM и InnoDB на простых примерах:

Описание MyISAM InnoDB
Транзакционный движек?

Транзакция (Transaction) – блок операторов SQL , который в случае ошибки в одном запросе, возвращается к предыдущему состоянию (Rollback), и только в случае выполнения всех запросов подтверждается (Commit)

Нет Да
Поддержка внешних ключей

Внешние ключи – это способ связать записи в двух таблицах по определенным полям так, что при обновлении поля в родительской автоматически происходит определенное изменение поля в дочерней (дочернюю и родительскую выбираешь при создании ключа; точнее, создаешь ключ в дочерней, который ссылается на родительскую).

Нет Да
Блокировка.

Блокировка на уровне строк, т.е. если процессу нужно обновить строку в таблице, то он блокирует только эту строку, позволяя другим обновлять другие строки параллельно

Блокировка на уровне таблиц Блокировка на уровне строк
Одновременные запросы к разным частям таблицы. Медленнее Быстрее
При смешанной нагрузке в таблице (select/update/delete/insert) Медленнее Быстрее
Операция Insert Быстрее Медленнее, ибо есть оверхед на транзакцию, но это цена надежности
Если преобладают операции чтения (SELECT) Работает быстрее Работает медленнее
Deadlock

Deadlock — ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, захваченных самими этими процессами.

Не возникают Возможны.
Поддержка полнотекстового поиска Да Нет
Запрос Count(*) Быстрее Медленнее
Поддержка mysqlhotcopy

Утилита mysqlhotcopy представляет собой Perl-сценарий, использующий SQL-команды LOCK TABLES, FLUSH TABLES и Unix-утилиты cp или scp для быстрого получения резервной копии базы данных.

Да Нет
Файловое хранение таблиц Каждой таблице отдельный файл Данные при настройках по умолчанию хранятся в больших совместно используемых файлах
Бинарное копировании таблиц?

Табличные файлы можно перемещать между компьютерами разных архитектур и разными операционными системами без всякого преобразования.

Да Нет
Размер таблиц в БД Меньше Больше
Поведение в случае сбоя Крашится вся таблица По логам можно все восстановить
В случае хранения «логов» и подобного Лучше Хуже

Выводы:

  • Использовать MyISAM лучше в таблицах, которых преобладает один вид доступа: чтение (новостной сайт) или запись (например, логирование) ;
  • Использование InnoDB имеет смысл во всех остальных случаях и случаях повышенных требований по сохранности данных.

Источник http://itif.ru/otlichiya-myisam-innodb/

Толк от снятия Я.Метрики

Толку нет.

В Интернете давно распространяется мнение, что наличие на сайте счетчика от Яндекса вредит сайту, мол если поведенческие невысокие, то позиции начнут проседать. Два месяца назад метрика была снята с туристического сайта, посещалка которого около 200 уников в день и заменена на liveinternet.

Т.к. ссылочного не закупалось, позиции сидят примерно на своих местах. Улучшений не произошло. Но у данного мероприятия оказалось два минуса:

  • У метрики более приятный интерфейс
  • С установленной метрикой индексация происходит быстрее и полнее

Так что, ставлю обратно.

Начало

Здесь идет речь о продвижении данного блога. Рубрика называется именно «Продвижение», а не SEO. Помимо оптимизации под ПС, оптимизируется usability и ценность информации. Я не ищу ключи в вордстате, а пишу то, что знаю или над изучением чего сейчас работаю. Приоритет блога — польза информации. Качество, а не количество.

На первых порах будет описан накопленный опыт. Сегодня, 13.09.2013 (С днем программиста! :) ), на неиспользуемый домен залит движок WordPress и началось наполнение. Домену 2 года.

После написания десятка постов, блог отправится в рейтинги. Также будет проведена регистрация в RSS-каталогах через собственную разработку (о ней потом как-нибудь). В индексе 1 страница с сообщением апача - Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny16 with Suhosin-Patch Server at asdf27.ru Port 80.