-
Код:
$query = "INSERT INTO innodb VALUES (NULL, 'Vasia', 'Pupkin')";
$i=0;
for ($i; $i<=7000; $i++)
* *{
* *****mysql_query($query);
* *}
время выполнения данного запроса 13-15 сек у меня на машине,
как я понимаю я когда заношу данные в таблицу у меня проводится 7000 транзакций, по этому так долго.. я где то слышайл что все эти записи можно провести с помощбю одной транзакции. подскажите пож как.
-
INSERT INTO innodb VALUES (NULL, 'Vasia', 'Pupkin'),(NULL, 'Vasia', 'Pupkin'),(NULL, 'Vasia', 'Pupkin'),(NULL, 'Vasia', 'Pupkin');
как-то так...
-
Почти.
INSERT INTO innodb (`id`, `name`, `soname`) VALUES (NULL, 'Vasya', 'Pupkin'),(NULL, 'Vasya', 'Pupkin');
-
Вобще-то для ИнноДБ логичнее было бы использовать mysqli расширение, позволяющее нормально использовать транзакции и пр.
Там можно выключить autocommit, затем можно выполнять кучу любых действий, типо удаления записей, добавления 7 тыс строк, других модификаций, а затем один раз вызвать mysqli_commit - и все ваши запросы будут одной транзакцией и выполнятся быстро.
А использовать иннодб и при этом каждый запрос - это отдельная транзакция, тогда зачем нужна иннодб??