Skip to Content
Author's profile photo Former Member

How to set exact value for ROWS PER COMMIT in Target table

As we know that the default value to set on rows per commit is 1000, and maximum value to set is 50000.

BODS recommends to set the rows per commit value between 500 and 2000 for best performance.

The value of rows per commit depends based on number of columns in the target table.

Here is the formula for the same –

Calculate Rows per commit value = max_IO_size (64K for most of the platform)/row size

  

Row size = (# of columns)*(20 bytes (average column size) )* 1.3 (30% overhead)

Eg: – If no. of columns is 10 then row size = 10*20*1.3=26

CommitRowValue
= 64 K/ 26 = 2.4 K

Assigned Tags

      7 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Venkata Ramana Paidi
      Venkata Ramana Paidi

      Hi Siva Prasad,

      It is nice explanation for arrow fetch size and rows per commit .    You mean  as per your example rows per commit is 2400 records?

      Thanks & Regards,

      Ramana.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Yes. Exactly.

      Author's profile photo Former Member
      Former Member

      very Useful 🙂

      Author's profile photo Former Member
      Former Member

      This ease our work. Thanks a lot for the useful information

      Author's profile photo Devasenapathy V
      Devasenapathy V

      Its very useful.

      Author's profile photo Norman Book
      Norman Book

      Hi Siva Prasad,


      I think you did your math incorrectly in the example (i.e. 10*20*1.3 = 260 <> 26).


      Thanks,

      Norman

      Author's profile photo Former Member
      Former Member

      If this math is used, then the number will almost never fall between the recommended number of rows per commit. It will be way under. In my case, the table has 45 columns, so that means I will have to set the rows per commit to 55. Something is def wrong here.