number of early send rows

number of early send rows configures the number of rows that are sent to the client in the first packet of a new result set.

Summary Information

Default value

0

Valid values

0 – 2147483647

Status

Dynamic

Display level

Comprehensive

Required role

System administrator

Configuration group

Network Communication

SAP ASE assembles data and accumulates rows that wait in the send buffer, but does not send them until the buffer has reached its configured size. If the packet size is large and if the query is one that takes a long time to execute, these rows may sit for sometime before they are sent. When the rows are sent, they arrive at the client simultaneously, and the client then spends time processing them individually. For large data transfers, the larger the value for the network packet size the more efficient the overall transmission, but there is a time lag during which the client is idle while the server waits for the first buffer to fill. Reducing the size of the network packet size can improve response time, but at the cost of efficiency.

The number of early send rows and early row send increment configuration parameters allow you to configure the number of rows that sit in the send buffer, and can reduce the amount of wait time:

number of early send rows allows the server to send results to the client before the packet has reached its configured size. Each subsequent packet increments the number of rows until the packets has reached its configured size (as set by the network packet size parameter). This gives the benefit of the reduced latency for the first few rows without losing overall transmission efficiency. The cycle continues for each new result set, starting with smaller packets, then growing to larger ones.

For example, if you set the value for number of early send rows to 2, the server sends the rows in the buffer when it contains 2 rows. The client receives the initial rows more quickly and processes them while the server is working on the next set of rows in the query. If you subsequently set the value for early row send increment to 20,000, the server sends the second set of rows in the buffer when it contains 2 + 20,000 rows and adds the value 20,000 to the value for number of early send rows for each subsequent buffer: that is, 2 + 20,000 + 20,000 for the third buffer and so on.

Related concepts
early row send increment