It should be noted that the ADO style of connecting was mimicked by PHP when they created their connection objects for their database servers. It makes it very easy (once you know function names) for an ASP programmer to switch over to PHP and vice versa.

Look at the similarities:
ADO:
set DBConn = Server.CreateObject("ADODB.Connection")
DBConn.Open "Connection_String", "DB_UserName", "DB_Password"
Query = "select column from table where othercolumn = 'someval'"
set rs = DBConn.Execute(Query)

PHP:
$conn = mysql_connect("ServerName", "DB_UserName", "DB_Password");
mysql_select_db("myDB", $conn);
$Query = "select column from table where othercolumn = 'someval'";
$rs = mysql_query($Query, $conn);

They are basically identical with the exception that PHP's mysql_connect function doesn't have a connection string, just the server name (and port, optionally), whereas the ADO-style connection string includes the database name, and the various optional connection parameters. Fundamentally they are identical, and efficiency is the principal reason for it.

If you're going to write on an ASP platform, you'd best use COM objects, otherwise you're really not getting anything in the way of efficiency.