Jump to content
Sign in to follow this  
sitecreator

в дистрибутиве 1.5.4.1 одна таблица типа InnoDB?

Recommended Posts

Таблица customer_online создается с типом InnoDB. все остальные MyISAM?

 

Почему?

стоит ли поменять тип этой таблицы на MyISAM?

DROP TABLE IF EXISTS `oc_customer_online`;
CREATE TABLE `oc_customer_online` (
  `ip` varchar(40) COLLATE utf8_general_ci NOT NULL,
  `customer_id` int(11) NOT NULL,
  `url` text COLLATE utf8_general_ci NOT NULL,
  `referer` text COLLATE utf8_general_ci NOT NULL,
  `date_added` datetime NOT NULL,
  PRIMARY KEY (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
 

 

Share this post


Link to post
Share on other sites

Таблица customer_online создается с типом InnoDB. все остальные MyISAM?

 

Почему?

стоит ли поменять тип этой таблицы на MyISAM?

DROP TABLE IF EXISTS `oc_customer_online`;
CREATE TABLE `oc_customer_online` (
  `ip` varchar(40) COLLATE utf8_general_ci NOT NULL,
  `customer_id` int(11) NOT NULL,
  `url` text COLLATE utf8_general_ci NOT NULL,
  `referer` text COLLATE utf8_general_ci NOT NULL,
  `date_added` datetime NOT NULL,
  PRIMARY KEY (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
 

Вообще считается что InnoDB быстрее чем MyISAM, так что скорее имеет смысл переводить все что можно на этот движок, ну кроме пары таблиц, вроде product_description, в которых есть поля с типом, не поддерживаемым в InnoDB.

Share this post


Link to post
Share on other sites

Вообще, InnoDB это стандарт последних версий MySQL-сервера и, поскольку она стабильная, я не вижу никаких причин использовать MyISAM. Впрочем, разница в производительности будет ощутима только на высокой посещаемости. Главное преимущество InnoDB в том, что при записи по первичному ключу блокируется одна запись, а не вся таблица. Представьте таблицу товаров. При каждом обновлении страницы туда добавляется +1 в поле view. 

 

По поводу product_description EVMedvedev говорит дело. InnoDB не поддерживает полнотекстовые индексы, на сколько я помню.

Share this post


Link to post
Share on other sites

я бы перешел на InnoDB только лишь из соображений сохранности данных.

Share this post


Link to post
Share on other sites

заметил одну странность при переходе с сервера mysql 5.1 на 5.6.

 

в случае 5.1 файл ibdata1 был размера 18 М.

но при переходе на 5.6 ibdata1 стал 1 Гигабайт (!!!)

 

На сервере несколько магазинов Opencart, общий размер баз данных 60М.

 

Поэтому файл в 1Г, нужный только для баз InnoDB меня сильно напряг.

Share this post


Link to post
Share on other sites

это я читал.

 

и это тоже (afwollis):

 

вам надо сменить тип (движок) таблицы "dr59customer_online" с INNODB на MyISAM.

можно сделать через phpmyadmin --- таблица -> операции -> тип таблиц.

это одна единственная таблица в базе, тип которой (почему-то) INNODB, а не MyISAM.

 

Не ясно почему именно эта одна таблица.

Share this post


Link to post
Share on other sites

Просто потому, что InnoDB работает лучше (быстрее, надежнее), чем MyISAM в смешаном режиме select | insert | update | delete

Ключевое слово смешанном, т. е. одновременном. В MyISAM при update лочится ВСЯ таблица, в InnoDB - строка. А почему именно эта таблица? - Следует из ее названия (хотя бы перевод :-) )

Share this post


Link to post
Share on other sites

 InnoDB не поддерживает полнотекстовые индексы, на сколько я помню.

 

Я просто для пробы скрипт генерации структуры данных переделывал, так что это проверено. Так кажется 2 таблицы таких. Вот у меня результаты экскремента остались :-) от версии 1.5.4.1. Я им заменял стандартный файл при установке, чтобы сразу нужный движок использовался. Это правда без upgrade.sql.

opencart_innoDB.zip

  • +1 1

Share this post


Link to post
Share on other sites

Я думаю самое хорошее решение ну или одно с хороших  -  Сделать мастером  тип InnoDB   и репликации на 1 или 2 сервера с MyISAM.  Медленные запросы вообще вынести в отдельные репликации.

 

Так и сохранность данных увеличивается, отказоустойчивать у вас будет хорошая Да и нагрузка уменьшиться. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.