The selecting of only fields that you need instead of using * will increase performance.
Slightly extreme example:
You have a table with say 7 fields and each one in each row is 1MB in size and you only need the data from 3 of them, with the * you'll be selecting all of them at 7MB per row. By selecting only the three fields that you need you'll only be using 3MB per row.
In terms of the connection once you've opened the connection from whatever lanauage your using for example php, aggregate the connection to whatever needs it, to save the constant opening and closing of database connections.
Avoid establishing "permanent connections" as if the script hangs there is a risk of the connection being jammed.