Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 8 of 8 total |
Size of empty BLOB field? |
Tue, Oct 30 2012 1:25 PM | Permanent Link |
Dominique Willems | I know I could just check it with a table, but it might be faster to
just ask. :> When I have a table that has several BLOB (or CLOB) fields, can I count on them occupying zero bytes (or a handful) when these fields contain nothing? (or do they start with a minimum of one blob block size, even if empty?) Thx! |
Wed, Oct 31 2012 4:16 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Dominique
I'm not sure how ElevateDB is structured but I think what will happen is a pointer in the table file for each blob/clob field with no data in the blob file Roy Lambert [Team Elevate] |
Wed, Oct 31 2012 12:30 PM | Permanent Link |
Dominique Willems | Roy Lambert wrote:
> I'm not sure how ElevateDB is structured but I think what will happen > is a pointer in the table file for each blob/clob field with no data > in the blob file I'm sure that's what happens. Or with the pointer simply being null when no data. If anyone knows it to be different, I'm sure they'll chime in. |
Wed, Oct 31 2012 12:48 PM | Permanent Link |
Raul Team Elevate | Have not done this for a while but i as recall the file storage in the main table file remains constant (it's like Roy said just a pointer so likely a int or maybe 64bit int field anyways). Actual blob data is in the EDBBlb file that does have a minimum size even when blank but it's tiny (like 1KB or such) and will only grow if you actually have data in the CLOB/BLOB. If you're really concerned about storage then assume worst case that main table stores the full pointer value even if null in main table but that's all there will be. Raul On 10/31/2012 12:30 PM, Dominique Willems wrote: > Roy Lambert wrote: >> I'm not sure how ElevateDB is structured but I think what will happen >> is a pointer in the table file for each blob/clob field with no data >> in the blob file > > I'm sure that's what happens. Or with the pointer simply being null > when no data. > > If anyone knows it to be different, I'm sure they'll chime in. > |
Wed, Oct 31 2012 12:54 PM | Permanent Link |
Dominique Willems | Raul wrote:
> Actual blob data is in the EDBBlb file that does have a minimum size > even when blank but it's tiny (like 1KB or such) and will only grow > if you actually have data in the CLOB/BLOB. That would be very bad news. Since I have 512 as BLOB block size, 1 KB (or 512 bytes) would be huge. It concerns fixed one-time created records that sometimes do have data in their blob fields but in the vast majority of cases do not. Having each time 512 extra bytes per record per blob field would increase the database size with a huge factor, especially when millions of records are concerned. That's why I asked the question. Maybe I do need to just add additional tables instead of using the blob fields. |
Wed, Oct 31 2012 1:04 PM | Permanent Link |
Raul Team Elevate | I'm pretty sure it's not per record but per table - blob table has a
minimum size. Adding records to main table with NULL blob should not grow the blob file at all so the only space cost would be in main table (again in worst case is pointer size per record). Raul On 10/31/2012 12:54 PM, Dominique Willems wrote: > That would be very bad news. Since I have 512 as BLOB block size, 1 KB > (or 512 bytes) would be huge. It concerns fixed one-time created > records that sometimes do have data in their blob fields but in the > vast majority of cases do not. Having each time 512 extra bytes per > record per blob field would increase the database size with a huge > factor, especially when millions of records are concerned. > > That's why I asked the question. Maybe I do need to just add additional > tables instead of using the blob fields. > |
Wed, Oct 31 2012 1:09 PM | Permanent Link |
Dominique Willems | Raul wrote:
> I'm pretty sure it's not per record but per table - blob table has a > minimum size. Exactly. I misread your first post thinking you meant a minimum size per record. Cheers! |
Wed, Oct 31 2012 1:48 PM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Raul
>Adding records to main table with NULL blob should not grow the blob >file at all so the only space cost would be in main table (again in >worst case is pointer size per record). Its not worst case its just what is. Since ElevateDB is fixed length then the space for the pointer is allocated on a per row basis. Doesn't matter if its full of NULL, zero or some integer its still taken up on disk. Roy Lambert [Team Elevate] |
This web page was last updated on Tuesday, April 30, 2024 at 03:55 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |