Jochem said:
reorder the fields so that the VARCHARS are at the end of the
table (and the BLOB field at the very, very end of the table).
Why the importance of BLOB's being at the end of the table?
Isn't assigned memory just blocks of reserved addresses for the
requesters use? It shouldn't make any difference where, or how much,
a block of memory is. To move from a field in a record to another
field is just following memory addresses from one field to another
field in each record. It doesn't make any difference if the jump is 1
byte of a million bytes, it's just an address.
An address, btw, which can be moved by a memory manager or other such
memory shuffles via handles (pointer to pointers) to provide larger
contiguous blocks of available memory. So, as such, your table may
contain fields where the individual records have blocks of assigned
memory scattered throughout memory with no order other than links to
addresses. It's a binary tree of some sort with blocks of memory
hanging off a linked list like leaves on a tree. The trunk of the
tree doesn't care how large the leaves are.
And deleting blocks of memory is nothing more than severing a link by
swapping memory addresses to connect with what came before to what
comes after. So, trying to place large blocks of memory at the end of
the table is not really doing anything because in assigning memory,
there is no distinction of where you get memory or how much you need
-- you either get the memory you need or fail -- to quote Yoda --
"Do, or not do. There is no try."
Or is there something here that I don't understand about this type of memory?
tedd
--
--------------------------------------------------------------------------------
http://sperling.com
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php