navicat команды truncate table и empty table - в чем разница?
Andrey_r62
Дата: 14.02.2013 15:22:46
Подскажите пожалуйста в чем разница выполнения в navicat команд truncate table и empty table.
Для truncate через командную строку можно сделать так:
mysql -u root -p******* -e "use `Test`;truncate`Table1`";,
а для empty table есть ли возможность выполнения из командной строки?
miksoft
Дата: 14.02.2013 15:38:09
Сильно подозреваю, что это DELETE FROM table1
Akina
Дата: 14.02.2013 16:00:38
MySQL не знает таких слов, как "empty table".
Andrey_r62
Дата: 14.02.2013 16:11:12
| Akina |
|---|
| MySQL не знает таких слов, как "empty table". |
MySql не знает, а в Navicat есть две команды Empty и Truncate.
Truncate пересоздаёт таблицу,
а Empty
| miksoft |
|---|
| это DELETE FROM table1 |
я думаю также.
Если нет - поправьте.
romy4
Дата: 14.02.2013 16:15:00
Andrey_r62,
проверить элементарно. Если auto_increment стало =1, то значит truncate
Akina
Дата: 14.02.2013 16:38:31
| Andrey_r62 |
|---|
| Truncate пересоздаёт таблицу |
Откуда такие сведения? потому как с точки зрения MySQL это как раз команда очистки содержимого таблицы без её пересоздания - операция гораздо более быстрая, чем delete from, которая выполняет (во всяком случае создаётся такое впечатление) удаление по одной записи.
Andrey_r62
Дата: 14.02.2013 18:08:20
| Akina |
|---|
| Andrey_r62 |
|---|
| Truncate пересоздаёт таблицу | Откуда такие сведения? ... |
Отсюда |
|---|
Синтаксис оператора TRUNCATE
TRUNCATE TABLE table_name В версии 3.23 TRUNCATE TABLE выполняет последовательность "COMMIT ; DELETE FROM table_name". See Раздел 6.4.6, «Синтаксис оператора DELETE». TRUNCATE TABLE имеет следующие отличия от DELETE FROM ...: Эта операция удаляет и воссоздает таблицу, что намного быстрее, чем поочередное удаление строк. Операция является нетранзакционной; если одновременно выполняется транзакция или активная блокировка таблицы, то можно получить ошибку. Не возвращает количество удаленных строк. Пока существует корректный файл table_name.frm, таблицу можно воссоздать с его с помощью, даже если файлы данных или индексов повреждены. TRUNCATE является расширением Oracle SQL. |
Akina
Дата: 14.02.2013 18:23:31
Andrey_r62
Дата: 14.02.2013 18:29:42
Akina, так что же делает Empty table в Navicat не подскажите?
Akina
Дата: 14.02.2013 18:42:34
Ну нет у меня гармошки навиката! почём я знаю, какого рожна он отправляет серверу? включи лог запросов да посмотри...