Binary files
Storing files in binary is often the fastest way to go. If you structure your files correctly, you can load the while file into memory with a single Get call, and load mostly only data that is needed. But this requires you structuring your UDTs (User Defined Types) accordingly. Along with that, altering binary files often requires a lot of work, because you have to load the old format, and save with a new format.
If you use binary files from the start, you are often looking for a hell of a time, since you will have to convert the file every time you want to add or remove a single variable that is being loaded or saved. Even worse yet, lets say you are saving a user, and you have your user UDT:
Public Type User Body As Integer Strength As Long Level As Long Coolness As Byte End Type
If you are loading and saving the whole UDT in one call, like this:
Open f For Binary As n# Get #n, , User(Index) Close #n
This is going to be very fast, but if you change a single variable in your User UDT, whether it is moving a variable around, adding a new one, removing one, or changing the variable type, it is going to ruin your whole file and you will have to convert it to fit the new format.
Binary can be combined with other methods, though. For example, my engine loads some data from a MySQL database then saves it as binary. Whenever the data needs to be loaded, it just loads it with binary. This adds a bit of extra time to the runtime (very little), but allows you to easily create well-structured binary files without having to actually work much in binary.