Re: Memory and BLOB's

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tedd wrote:
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?

its a guestimate based on something I read a while back, the
reason was something silly and not inherent to the blob but some
implementation technicality - the proposed 'solution' was to
move the blob id to the end. it had nothing to do with blob size.


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.

right but fixed sized jumps are best (base 2 anyone?) - i.e. no varchars.
also experiment with table types in mysql - maybe use a 'temporary' HEAP
or MEMORY table to process and then select back into the 'permanent'
table when your done with the heavy lifting.


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?


I'm _guessing_ yes.

how about easy to calculate (i.e. + N) memblock positions in physical
memory?

I'm just thinking out loud - don't consider me an authority.


tedd

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux