Explain the fundamental of connection pooling.
Whenever a connection is opened first time a connection pool is created and is based on the exact match of the connection string given to create the connection object. This Connection pooling works only if the connection string is the same. If the connection string is different, then the new connection will be opened, and connection pooling won't be used.
Now try to describe the same pictorially. In the figure above you can see that there are three requests viz. "Request1", "Request2" & "Request3". "Request1" and "Request3" have same the connection string so no new connection object is created for the "Request3" as the connection string is same. They share the similar object "ConObject1". But the new object "ConObject2" is created for "Request2" as the connection string is different.
Figure : -Connection Pooling action.