新的 DbConnection 性能

New DbConnection performance

这是我从数据库中选择数据的函数:

    public DataTable SelectDataTable(string selectStatement, string connectionString)
    {
        using (var oracleConnection = new OracleConnection(connectionString))
        {
            using (var command = new OracleCommand(selectStatement, oracleConnection))
            {
                return SelectDataTable(command);
            }
        }
    }
    public DataTable SelectDataTable(OracleCommand command)
    {
        var result = new DataTable();

        try
        {
            var adapter = new OracleDataAdapter(command);
            adapter.Fill(result);
        } catch (OracleException ex)
        {
            throw NewDatabaseException("Error on fill data table.", command.CommandText, ex);
        }

        return result;
    }

我经常调用这个函数,我不太担心会出现性能问题,因为我仍在创建新的 DbConnection。只创建一个 DbConnection,将其存储在字段中并多次使用它是否更好?

在您的连接字符串中将 MinPoolSize 设置为大于 0 的值,这样它就不会创建新连接,而是从现有连接池中获取。同时将 MaxPoolSize 设置为高于 MinPoolSize 的数字。