Anyone know for sure if the memory needed to insert a LOB is a
percentage of the system's available memory or if it is allocated from
the innodb_buffer_pool_size? IOW, how should my configuration settings
be modified to allow the insertion of larger blobs? :)

-----Original Message-----
From: Robert DiFalco [mailto:[EMAIL PROTECTED] 
Sent: Saturday, April 29, 2006 9:49 AM
To: Sergei Golubchik
Cc: [EMAIL PROTECTED]; mysql@lists.mysql.com
Subject: RE: Streaming LOB Data

Thanks Sergei, it's nice to know for sure. Do you know if there is any
documentation on how memory is used to store LOB data? For example, is
it a percentage of the total buffer pool size or is it allocated from
available memory un-allocated to the buffer pool size? 

-----Original Message-----
From: Sergei Golubchik [mailto:[EMAIL PROTECTED]
Sent: Saturday, April 29, 2006 9:34 AM
To: Robert DiFalco
Cc: [EMAIL PROTECTED]; mysql@lists.mysql.com
Subject: Re: Streaming LOB Data

Hi!

On Apr 28, Robert DiFalco wrote:
> It appears (for InnoDB at least) that while INSERTing a LOB that all 
> LOB data must be loaded into memory before it is written to disk. Or 
> is it just the size of the combined log files? Looking at Task 
> Manager, it looks like it DOES try to load the whole thing into memory

> before streaming it to disk; which just seems wacky.
> 
> The error I get is this:
> 
>       "Out of memory (Needed xxx ..."
> 
> If the server crashes I get this:
> 
> InnoDB: which exceeds the log group capacity 18870682.
> InnoDB: If you are using big BLOB or TEXT rows, you must set the
> InnoDB: combined size of log files at least 10 times bigger than the
> InnoDB: largest such row.
> 060427 15:26:53  InnoDB: Error: cannot allocate 539001144 bytes of
> InnoDB: memory with malloc! Total allocated memory
> InnoDB: by InnoDB 52823786 bytes. Operating system errno: 8
> InnoDB: Check if you should increase the swap file or
> InnoDB: ulimits of your operating system.
> InnoDB: On FreeBSD check you have compiled the OS with
> InnoDB: a big enough maximum process size.
> InnoDB: Note that in most 32-bit computers the process
> InnoDB: memory space is limited to 2 GB or 4 GB.
> 
> How can I make the size of LOBs I insert NOT be memory constrained? 

No way.
Unfortunately, it's the way MySQL works at the moment.
Which does not mean it's not going to be changed in the future.
 
Regards,
Sergei

-- 
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /   Sergei Golubchik <[EMAIL PROTECTED]>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, Senior Software Developer /_/
/_/\_, /___/\___\_\___/  Kerpen, Germany
       <___/  www.mysql.com



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to