I've been looking into making my game more efficient, and I found out about making Global tables/functions. From what I can tell, I'll be able to load a player's data in one server script:
_G.Stats = {}
Players.PlayerAdded:connect(function(Player)
_G.Stats[Player.Name] = DS:GetAsync(Player.UserId) or {hi = true}
end)
and then be able to access that data from another server script:
_G.Stats[Player.Name]["hi"] = false
Are there any downsides to doing this? Right now, player's stats load in one script and other scripts needing these stats retrieve it through bindable functions. Thanks!

5 comments
I do believe _G. is better than bindable functions - just remember that _G. does not transfer between server and client (or vice versa).
Alright. For how I want to use it, it's beneficial that _G. doesn't transfer between the server/client as I'm hooking my save system up to it. I'd prefer for the client to not edit their own stats ;)
I'd sure hope _G is efficient. ROBLOX stores tons of stuff in _G.
Have an upvote @shayner32. Somehow that made me chuckle.
_G is bad style, you should consider using ModuleScripts instead