开发者

Is Firebird 2.1 efficient to store a massive number of rows in some DB's table?

开发者 https://www.devze.com 2023-04-05 03:28 出处:网络
My application keeps receiving a really small event that it needs to store and I was thinking which is the best way to handle it. T开发者_运维问答he table for this event would be something like this:

My application keeps receiving a really small event that it needs to store and I was thinking which is the best way to handle it. T开发者_运维问答he table for this event would be something like this:

EVENT
id
timestamp
some_data (integer)
fk_to_some_holder_table

If I keep storing each event as a row, will there be some disadvantage against an implementation with some kind of blob compression/treatment? Or am I going too far here?

I'm using Firebird 2.1. If needed, I could upgrade to Firebird 2.5.

Thanks in advance.


I'm sure you're better off with "traditional row based record":

  • you want to query the records, right? Quering BLOBs is hard and slow;
  • since your record size is so small you wouldn't be able to compress them, with most compression algorithms the result would probably be bigger than the separate fields require;

According to the "What are the technical limits of Firebird?" article maximum size of one table is 32TB or 16G rows.

I don't think there is any difference between 2.1 and 2.5 in this specific case, but I'd use 2.5 because of other/general improvements.


storing as a row makes much better sense than blobs, for the reasons already mentioned

I'd stick with 2.1 for now, 2.5 has too many bugs for my liking

0

精彩评论

暂无评论...
验证码 换一张
取 消