Задавайте вопросы, мы ответим
Вы не зашли.
как можно ускорить процесс inserta
я делаю инсерт данных примерно так (мне надо просто накопировать данные)
insert into table1 (fiaeld1, field2...)
(select fiaeld1, field2... from table1)
выдало ошибку
Error Code: 2013
Lost connection to MySQL server during query (600sec)
как можно увлеичить время таймаута?
Неактивен
MySQL сам не ограничивает никак время выполнения запросов.
Вижу два возможных варианта: ограничение есть в клиентской библиотеке
доступа (например, выставляется таймаут, который, при срабатывании уби-
вает соединение) или за сервером следит какое-то стороннее приложение,
которое убивает соединения со стороны сервера, если они выполняются
более 10 минут.
Неактивен
Возможно ограничение установлено хостером.
Неактивен
Скорее всего, так оно и есть.
Неактивен
я запрос выполняю локально на машине из-под workbench
Неактивен
AndreSnake написал:
как можно ускорить процесс inserta
я делаю инсерт данных примерно так (мне надо просто накопировать данные)
insert into table1 (fiaeld1, field2...)
(select fiaeld1, field2... from table1)
выдало ошибку
Error Code: 2013
Lost connection to MySQL server during query (600sec)
как можно увлеичить время таймаута?
А что вообще пытаетесь сделать ?
Зачем заливать данные из таблицы в саму себя ? Пытаетесь дублировать данные ?
Какой тип таблицы ? MyIsam ?
Неактивен
да пытаюсь дублировать данные. надо сэмулировать большой объем данных. хочу понять можно ли юзать mysql для статистики. тип бд - InnoDb. просто я где-то читал что MyIsam - ненадежная и часто падает....
Неактивен
но уже вижу что mysql явно проигрывает в скорости ms sql, но к сожалению ms sql express имеет ограниченный размер файла бд.
Неактивен
AndreSnake написал:
но уже вижу что mysql явно проигрывает в скорости ms sql, но к сожалению ms sql express имеет ограниченный размер файла бд.
Приведите конкретные операции и конфигурацию железа, используемые для сравнения, иначе получается необоснованное утверждение.
Неактивен
ну пример простой - копировал таблицу саму на себя. чтобы сделать 30-40млн строк в mssql мне понадобилось буквально пару тройку минут, конечно могу ради интереса провести более точные измерения. в my sql мне пришлось возиться намного дольше чтоб получить такую же результирующую таблицу. опять же точных измерений не проводил просто общее впечатление... с mysql все делаю в workbench - может это еще дает какие-то задержки....
Неактивен
А какая версия MySQL? Если под Windows, то желательно использовать не ниже 5.5, иначе проблема с производительностью InnoDB. Какая скорость будет для таблиц MyISAM? В ms sql используется транзакционный движок?
Неактивен
В Mysql нельзя выбрать данные из таблицы и в эту же таблицу вставить, ошибка именно в этом. Извиняюсь за поспешные выводы, сейчас проверил, действительно можно, но документация на сайте mysql, утверждает обратное почему то.
Отредактированно simple (15.05.2011 23:38:06)
Неактивен
rgbeast написал:
А какая версия MySQL? Если под Windows, то желательно использовать не ниже 5.5, иначе проблема с производительностью InnoDB. Какая скорость будет для таблиц MyISAM? В ms sql используется транзакционный движок?
версия mysql 5.5 может стоит попробовать MyISAM. кстати еще один пример насчет производительности. я набросал прогу заливающую данные - в ms sql залить 10000 * 90 строк - понадобилось не много времени, точно не помню - делал на работе но факт - долго не ждал)
таже прога но использующая Connector/Net6 битый час если не больше заливала 3000 * 60 строк...
Неактивен
simple написал:
Нельзя выбрать данные из таблицы и в эту же таблицу вставить, ошибка именно в этом.
как это нельзя? кто запрещает делать
insert into tab1 (field1, filed2)
(select field1, filed2
from tab1)
работает прекрасно как в msqsql так и в mysql
Неактивен
создал таблицу MyISAM - вижу работает намного шустрее!
Неактивен
Еще зависит от того как загружать и какие индексы на таблицы. В примере из моего доклада Работа с большими таблицами за час в MyISAM загружается 2.5 миллиарда строк. Если по одной строке вставлять, то результат другой.
simple написал:
В Mysql нельзя выбрать данные из таблицы и в эту же таблицу вставить, ошибка именно в этом. Извиняюсь за поспешные выводы, сейчас проверил, действительно можно, но документация на сайте mysql, утверждает обратное почему то.
Где в документации написано? Можно запостить багу документации на bugs.mysql.com, такие баги исправляются относительно быстро.
Неактивен
Неактивен
Вы пользуетесь переводом старой версии документации (к сожалению нового перевода нет). В новой документации уточняется, что прямо в SELECT теперь можно поместить ту же таблицу, а в подзапрос нельзя.
http://dev.mysql.com/doc/refman/5.5/en/ … elect.html
The target table of the INSERT statement may appear in the FROM clause of the SELECT part of the query. (This was not possible in some older versions of MySQL.) However, you cannot insert into a table and select from the same table in a subquery.
Неактивен