Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
ALTER TABLE `table` DISABLE KEYS работает мед (Roman) 22/12/2016 - 00:30:05
      Re: почему бы и нет? (Akina) 22/12/2016 - 07:39:16



From: Roman - 22/12/2016 - 00:30:05
Subject:ALTER TABLE `table` DISABLE KEYS работает мед
-----------------
ALTER TABLE `table` DISABLE KEYS работает медленнее чем когда включена индексация.

использую PHP PDO для работы с базой.

//================================================
здесь некоторый код
//================================================
//отключаю индекс
try {
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$s_1 = "ALTER TABLE full_gen DISABLE KEYS";
$s_2 = "ALTER TABLE gen_codon DISABLE KEYS";
$s_3 = "ALTER TABLE gen_nucleotid DISABLE KEYS";
$s_4 = "ALTER TABLE gen_amino DISABLE KEYS";
$s_5 = "ALTER TABLE gen_data DISABLE KEYS";
$dbh->exec($s_1);
$dbh->exec($s_2);
$dbh->exec($s_3);
$dbh->exec($s_4);
$dbh->exec($s_5);

} catch (Exception $e) {
echo $e->getMessage();
}
//==============================================
//здесь несколько тысяч запросов inser в 5 таблиц (крутится в цикле)

try {
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$dbh->exec($s_1);
$dbh->exec($s_2);
$dbh->exec($s_3);
$dbh->exec($s_4);
$dbh->exec($s_5);
$dbh->commit();
} catch (Exception $e) {
$dbh->rollBack();
echo $e->getMessage();
}

//================================================


//включаю индекс
try {
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$s_1 = "ALTER TABLE full_gen ENABLE KEYS";
$s_2 = "ALTER TABLE gen_codon ENABLE KEYS";
$s_3 = "ALTER TABLE gen_nucleotid ENABLE KEYS";
$s_4 = "ALTER TABLE gen_amino ENABLE KEYS";
$s_5 = "ALTER TABLE gen_data ENABLE KEYS";
$dbh->exec($s_1);
$dbh->exec($s_2);
$dbh->exec($s_3);
$dbh->exec($s_4);
$dbh->exec($s_5);

} catch (Exception $e) {
echo "Помилка: " . $e->getMessage();
}


//==========================================================================================================


в результате с выключением индексов работает на 20% медленнее, чем простой insert
таблиці myisam


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43708



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |