SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.08.2011 10:59:11

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Memory, tmp_table_size

Здравствуйте.
Указываю tmp_table_size = 50М в my.cnf затем начинаю заполнять таблицу типа memory, данных гораздо больше. Генерится ошибка:
The table 'mem_book_skeleton' is full

просто я думал указав tmp_table_size данные будут на диск записываться. Как можно избежать ошибки при переполнении?

Неактивен

 

#2 02.08.2011 13:15:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Memory, tmp_table_size

А какая у вас версия MySQL?

Неактивен

 

#3 02.08.2011 13:38:07

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Re: Memory, tmp_table_size

SELECT VERSION()
-----------------------------
5.1.49-3

Неактивен

 

#4 02.08.2011 13:46:03

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Memory, tmp_table_size

MEMORY-таблицы никогда не хранятся на диске, их максимальный размер определяется переменной max_heap_table_size
tmp_table_size - для временных таблиц, создаваемых автоматически в процессе выполнения запроса.

Неактивен

 

#5 02.08.2011 15:17:14

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Re: Memory, tmp_table_size

Спасибо, т.е max_heap_table_size нужно указать сколько надо, а при переполнении ошибки не избежать?

Неактивен

 

#6 02.08.2011 16:04:12

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Memory, tmp_table_size

Именно так, причем максимальное значение 4Gb. Учитывайте, что в размер таблицы входит и размер индексов (если они есть).

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson