LINUX.ORG.RU

MYSQL


0

0

вообщем в сабже нужно создать таблицу с большим числом записей. mysql разрешил заисать только 65535 записей - а далее говрит - таблица переполнена. че делать то

anonymous

postgresql, oracle etc

anonymous
()

Можно попробовать написать свою функцию которая при переполнении одной таблицы будет создавать другую и писать данные уже в нее.

knoppix
()

Ого, я даже и не знал о таком ограничении...

anonymous
()

нет такого ограничения... по крайней мере в 4.1
спокойно себе работает с таблицами в несколько миллионов записей(myisam,innodb).
может вы используете какой-то особенный storage engine ?

anonymous
()
Ответ на: комментарий от anonymous

А что конкретно mysql при этом говорит ?
вот тестовый примерчик:
create table test(
test_id int primary key auto_increment,
test_value char(10) not null
) engine=innodb;

delimiter //
create procedure fill_test(in n int)
begin
  WHILE n > 0 DO
       insert into test (test_value) values(n);
       SET n = n - 1;
  END WHILE;
END //
delimiter ;

mysql> CALL fill_test(100000);
Query OK, 1 row affected (1 min 20.64 sec)

Работает :)

anonymous
()
Ответ на: комментарий от anonymous

Данные в таблицу загоняются импортом из файла, когда наступает запись 65553, то после нее при попытке ручного воода данных через insert говорит Ошибка 1411 Таблица переполнена. Почитав документацию нашел опцию --big-tables которая якобы должа избавить от больщинства таких ошибок но она почему по не исправила

anonymous
()

Что за бред?!?!? Никогда такого ограничения не было! Юзаю таблицы с сотнями тысяч записей и ничего - шуршит себе спокойно причём сменил уже несколько версий MySQL от 3.23 до 4.1.14

Ubnormal
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.