Forum Webscript.Ru
		Программирование => Perl => Тема начата: frenky от 08 Января 2005, 00:40:08
		
			
			- 
				ВОбщем создаю 2 DBM файла 
 
 
 
 get_lock();
 dbmopen(%za,"kgames",0666) || die;
 get_lock();
 dbmopen(%zaz,"kgames1s",0666) || die;
 
 
 
 for($i=0;$i<15;$i++)
 {
 
 for ($j=$i+1; $j<=15;$j++)
 {
 
 $value="$es[$i],$es[$j]";
 $za{$value}=$ba;
 #$zaz{$value}=$ba;
 print "$value
 ";
 
 
 $value="$es[$j],$es[$i]";
 $za{$value}=$ba;
 #$zaz{$value}=$ba;
 print "$value
 ";
 
 print "$i   eee   $j
 ";
 print "$!";
 
 }
 
 }
 
 dbmclose(%za);
 relase_lock();
 dbmclose(%zaz);
 relase_lock();
 
 
 
 и полсе токо как в DBM файле создаеться 188 ключ выдает что File too large  как с этим бороться?????
 
 
 у меня были DBM и с 324 ключами ,по идее колличество ключей в хеше не ограничено но главное чтоб размер ключа и значения біл меньше  1024 символа
- 
				frenky:
 ключа и значения біл меньше 1024 символа
 
 а какой DBM администратор ты используешь?
 В BerkeleyDB нет ограничения на размер  одной записи (т.е. ключ/значение), по умолчанию где то около 4Гб, ну а на кол-во ключей вроде бы ни у кого ограничений нет, хотя у некоторых есть воз-ть указать предполагаемое кол-во записей, для лучшей оптимизации, но если кол-во оказывается бОльшим, чем указанное ранее кол-во - проблем тоже происходить не должно
- 
				А как узнать  какой DBM администратор я использую?
			
- 
				frenky:
 А как узнать какой DBM администратор я использую?
 
 лучше работать с DBM с указанием явного dbm администратора.
 Наиболее быстрый BerkeleyDB (на всех *nix системах присутствует, http://sleepycat.com )
 Минимальный функционал к этой БД можно получить через модуль DB_File
 
 use DB_File;
 #связываем
 tie (%dbm, \'DB_File\', $file, O_RDWR, 0666, $DB_HASH)||die($!);
 
 #работаем с %dbm
 
 #закрываем
 untie %dbm;
 
 http://search.cpan.org/~pmqs/DB_File-1.810/DB_File.pm
 
 Или если все равно какой администратор, то использовать
 AnyDBM_File (стандартный перл модуль) - можно там указать какой-нибудь конкретный администратор, либо использовать любой имеющийся.
- 
				спасибки :О)