From: ryc <[EMAIL PROTECTED]>
> I am aware that currently innobase tables can not have abritararly large
> text/varchar fields and support for this will be released sometime in the
> month of June. The application I am working with requires text fields
> (usually less than 64k), and I desperatly need row level locking. Either I
> continue using Mysql, and use Innodb tables.. or I have to switch to
> Postgresql.
>
> I need to do something right away about this performance problem, I can
not
> wait until Innodb tables are released with the unlimited row length. I
tried
> to find out what the max row length for a Innodb table row, but did not
find
> it in the documentation. If it isnt too much smaller than 64k I could
switch
> now, and not have to worry about using postgresql. Does anyone know what
the
> limit is? Any pointers would be apreciated.
Hi,
We used to have a similar problem with MS-SQL Server (a limit that's now
been removed I believe).
If you are willing to do some extra development you can get around this by
splitting the field into multiple chunks of (for example), 8k, and inserting
them with a field indicating re-assemble order.
Benefits : Better use of space with fixed field size. Can store an object of
abitrary size (i.e. from 1k to gigabytes).
Downside : Extra development. Slower retrival.
So your code would look something like :
mysql_query(db, "select chunk_data from chunks where id = 5453 order by
reassemble_order");
results = mysql_get_results(db);
number = mysql_num_rows(results);
for (a=0 to number)
{
tail = mysql_result(results[a]);
bigvar = bigvar+ tail;
}
Splitting it up in the first place is a similar procedure.
Russ.
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php