A connection to a database server takes time to connect and will consume memory. Also the number of connections a database server will accept at the same time is limited. That's why the number of connections should be kept as small as possible which means that only a single connection to the same database should be used.
Using just a single connection means not that you have to use the
Singleton pattern. Simply create the connection object somewhere at the start of the script and pass it to components which will execute DB queries.