1. sp.map
and sp.big_map
:
- Dynamic & Flexible: Suitable for data without a fixed structure or where entries can change over time, like user balances in a token contract.
- Growing Collections: If the map might grow indefinitely, consider using
sp.big_map
as it’s optimized for larger datasets and it avoids gas lock problems.
2. sp.record
:
- Structured & Consistent: Ideal for data with a defined set of fields that are always used together, e.g., product details.
It’s worth noting that records can be used both as keys and values in maps, allowing for a blend of structured and dynamic data handling within your contract.