# Pointer item

Pointer items are internal file place-keepers that point
to the frame where the actual data resides.

Items are normally stored in a file with a few bytes of
overhead data, followed by the item-ID, followed by the attributes,
and then an end-of-item indicator.

If the size of the item exceeds
a given length (approximately 860 bytes for a 1 KB frame system, 1720
bytes for a 2 KB frame system, and 3440 for a 4 KB frame system),
then D3 uses a pointer item in the file, which contains the overhead
data, the item-ID, and a frame address that points to where the attribute
values are stored. Therefore, most of the item’s data resides outside
of the file’s primary filespace.

This method increases performance
during most AQL functions, as reading pointer items is considerably
more efficient than reading the entire item during common functions
such as list or sort.

A data file may be declared (at create-time) to contain all pointer
items, forcing every entry to be a pointer item. There is no converse
nonpointer item declaration.

## See also

- [f.modulo command](https://d3codex.com/tcl/f-modulo-command/)
- [File-defining items](https://d3codex.com/definitions/file-defining-items/)
- [istat command](https://d3codex.com/access/istat-command/)
- [item command](https://d3codex.com/tcl/item-command/)
- [list-file-access command](https://d3codex.com/tcl/list-file-access-command/)
- [Master dictionary](https://d3codex.com/definitions/master-dictionary/)
- [save command](https://d3codex.com/tcl/save-command/)
- [set-ovf-local command](https://d3codex.com/tcl/set-ovf-local-command/)
- [u222d user exit](https://d3codex.com/pickbasic-flashbasic/u222d-user-exit/)
- [update-prot command](https://d3codex.com/tcl/update-prot-command/)

---
Source: https://d3codex.com/definitions/pointer-item/ - part of the D3Codex reference.
