Given one singleton, the result will be the same: there will be only one instance of your database object, and it will always be the same.
So, both solutions will work and will give the same result; at least if your DB class is used every time an instance of your class is created, and, of course, the performance difference is likely to be negligible.
, singleton : singleton, ...
... Dependency Injection ( __construct, ), - , "Mock" DB .
: ?