hmm this is good information however options can't be called in different scripts and using variables would fill up the .cvs file if storing a large amount of information which would lead to performance drop anyway
A large cvs file might take a while to load on server start but then everything is saved in memory and you can access your variables instantly. Saving is also quite straight forward as all new values get just appended at the end of the file (no parsing required). For YAML you have to parse the whole file for every single value and the same again if you want to save it. If you want to get a decent performance you have to store the YAML values in variables anyway to keep them in memory. But then the variables will be saved in the .csv file as well! So every time you change something it you will have to update the YAML file and the database!
There is really no performance gain in YAML only a lot of losses. Using it for a config file is fine and should not put too much stress on the server. Using it as a custom database is just useless as you make everything slower no matter what you do.
Regarding the problem with options. You could use global variables instead and not save them in the database.