I did a quick check by selecting BLOB from the table and then LENGTH (BLOB) and DBMS_LOB.GETLENGTH (BLOB). When choosing the BLOB itself, I got 44 consecutive results. When I selected the length (using any method), I got 7 consecutive hits.
Based on this, when I get the length, it does not extract the entire block and calculates the length. It is reasonable to assume that the length stored at the beginning of the BLOB (for example, the length of VARCHAR2 is stored), and this is used directly.
Thus, there should be no large overhead in determining the length, and not its storage. It also reduces the chance of inconsistency.
source
share