Are you asking if there is a more efficient approach, or are you asking if there is a more efficient way to store memory?
I am very skeptical of any other memory option, and that will give you a noticeable difference. Lists and vocabulary may not be the most efficient storage option, but they are also not sows.
If you want to know if there is a better approach that depends on what you are trying to do. If this data should be displayed to the user, then the conclusion is usually made about what becomes the visible size of the table (so that the scroll bars behave as expected), and only some of the immediately previous and subsequent entries are cached only from the viewport. As the user navigates while looking at the table, data is loaded as needed.
source share