Читайте о механизмах хранения данных . MyISAM : Механизм хранения MyISAM в MySQL. Проще проектировать и создавать, поэтому лучше для начинающих. Не беспокойтесь о внешних связях между таблицами....
Это прямо там, в ваших сообщениях об ошибках: 2018-12-14T08:59:23.473245Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation. 2018-12-14T08:59:23.473273Z 0 [ERROR] InnoDB: The...
Продублируйте текстовый столбец из products в новую таблицу MyISAM. Установите связь 1-1 между ними и, чтобы обеспечить ACID'ity, предоставляемую InnoDB, убедитесь, что вы всегда обращаетесь к...
Если вы используете конфигурацию по умолчанию, то mysql будет использовать единое табличное пространство для всех таблиц innodb, что, вероятно, является причиной относительно медленного создания...
Определенно да. Без этого MySQL придется выполнить полное сканирование таблицы (перейти строка за строкой, сравнивая date_time с предоставленным значением.)
Я не думаю, что обнуляемость столбца имеет какое-либо отношение к скорости ALTER TABLE . В большинстве операций alter table вся таблица - со всеми индексами - должна быть скопирована (временно), а...
Если у вас есть ограничение внешнего ключа, как вы можете удалить строку из таблицы A, когда таблица B ссылается на эту строку? Мне это кажется ошибкой. Несмотря на это, вы можете избежать...
Вы можете отредактировать файл /config/database.php, найти запись mysql и изменить: 'engine' => null, до 'engine' => 'InnoDB', Это избавит вас от необходимости добавлять $table->engine =...
Чтобы InnoDB работал быстрее, вы всегда должны устанавливать innodb_buffer_pool на большое значение. Он позволяет InnoDB хранить рабочий набор данных в памяти (табличные данные, структуры индексных...
В прошлом (возможно, в каком-то воплощении) существовал несвободный инструмент под названием Innodb hot backup, ibbackup. Он использовал специально скомпилированный innodb с включенным этим флагом....
команда drop автоматически освободит место на диске. Примечание: Предполагая, что вы используете innodb_file_per_table, поскольку вы можете освободить место, оптимизировав синтаксис таблицы.
Вы выбираете на meta_key, поэтому вполне логично, что он использует этот индекс. MySQL не может использовать оба индекса. Решение: Вы можете создать комбинированный ключ для обоих столбцов (meta_key...
Разница между innodb и myisam в отношении подсчета Пожалуйста, обратите внимание, что подсчет с WHERE не медленнее с InnoDB, чем с MyISAM. Только очень голый SELECT COUNT(*) FROM table может быть...
Обычно вы делаете это с помощью триггера . Моя первая идея состояла бы в том, чтобы сделать это в двух частях. 1) Создайте триггеры для вставки, обновления и удаления (если это когда-либо...
В основном InnoDB -лучший выбор, чем MyISAM . Вы можете прочитать немного больше об этом здесь . Все зависит от ваших таблиц. Если вы хотите прочитать из них (с небольшим количеством...
Когда вы переименовываете таблицу с помощью ALTER TABLE , вот что происходит: Таблица копируется в новый файл со случайным именем файла. Изменения вносятся в новый файл. Старая таблица...
Есть ли улучшение производительности при индексировании внешних ключей в InnoDB? Ответ: Нет. Производительность будет снижена из-за дубликатов ключей. Вам это не нужно INDEX `job_fk1` (`user`),...
Edit 2016: мы недавно (август 2016) выпустили gh-ost , изменив мой ответ, чтобы отразить его. Сегодня существует несколько инструментов, которые позволяют сделать онлайн alter table для MySQL. Это:...
У меня есть longtext поле MYPARAMS в моей БД Вероятно, у вас плохо спроектированная схема; имя подразумевает машиночитаемый формат данных, а размер + имя подразумевает составную структуру данных....
Я нашел решение моего собственного вопроса, и я хочу поделиться здесь, потому что это было довольно странно, по крайней мере для меня. Я всегда думал, что временная задержка, которую клиент mysql...
На самом деле движок, используемый поставщиком MySQL EF, всегда является InnoDB, и вы не можете изменить его без перезаписи генератора DDL. Чтобы попробовать, вы можете создать простой проект и...
В этих ситуациях я обычно просто использую оператор UPDATE и проверяю, сколько записей было затронуто (mysql_affected_rows) обновлением. UPDATE tickets SET ticket_count=ticket_count-1 WHERE...
Сэр, в вашем коде вы можете использовать функцию ROW_COUNT() вместо SELECT count(*) Согласно документации: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_row-граф...
Старые вопросы, но следование-это возможный способ обойти их. В основном перемещайте данные, а не переименовывайте таблицы. Конечно, вам нужно убедиться, что новые данные соответствуют правилам...
Не верьте, если кто-то скажет вам, что TINYTEXT хранится иначе, чем VARCHAR. Фактические различия заключаются в следующем: TINYTEXT и другие поля TEXT хранятся отдельно от строки в памяти в куче...