title: Why a connection pool of many opened connections is less costly for a system than to open a new connection every time?
body: <p>An answer from <a href="https://stackoverflow.com/a/4041136/1114926">here</a></p>
  
  <blockquote>
    <p>Typically, opening a database connection is an expensive operation, so
    pooling keeps the connections active so that, when a connection is
    later requested, one of the active ones is used in preference to
    opening another one.</p>
  </blockquote>
  
  <p>I understand the concept of <code>Connection Pool</code> in DB management. That is the answer for a "<strong>what is ~</strong>" question. All developers blog posts, answers, tutorials, DB docs out there always answer for a question "<strong>what is</strong>". Like they constantly copy/paste text from one another. Nobody tries to explain "<strong>why is it so</strong>" and "<strong>how</strong>". The answer above is an example to it.</p>
  
  <p>I can't understand <strong>why</strong> and <strong>how</strong> it is possible that keeping, say, 30 opened connections in a pool is less costly for a system than to open a new connection when it is required.</p>
  
  <p>Suppose, I have a web server located in Australia. And a DB in AWS located in USA somewhere in Oregon. Or in GB. Or anywhere but very far from AUS. So all they say that keeping a pool of 20-... opened connections would be less costly for a memory and system performance than to open a new connection every time in such a case? How it can be? Why?</p>