C# 通过.NET访问MySql数据库的最快方法?

C# 通过.NET访问MySql数据库的最快方法?,c#,.net,mysql,C#,.net,Mysql,我试图在.NET应用程序中访问一个非常大的MySQL表(17.6M行x 60列),并在应用程序中执行一些简单的分析。我使用.NET MySqlAdapter编写了以下代码,其中查询是一个简单的选择。。。从X查询: using (MySqlConnection client = new MySqlConnection(connectionString)) { client.Open(); using(MySqlComm

我试图在.NET应用程序中访问一个非常大的MySQL表(17.6M行x 60列),并在应用程序中执行一些简单的分析。我使用.NET MySqlAdapter编写了以下代码,其中查询是一个简单的选择。。。从X查询:

        using (MySqlConnection client = new MySqlConnection(connectionString))
        {
            client.Open();
            using(MySqlCommand command = new MySqlCommand(td, client))
            {
                using (MySqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        DoSomething(reader);
                    }
                }
            }
        }
我正在数据库服务器上测试这个应用程序,试图消除网络延迟

在分析这种方法时,DoSomething()调用的总时间约为20ms,其中在内部while循环中花费的总时间约为8分钟


有没有更快的方法将大量数据从MySQL传输到客户端应用程序?

在MySQL中进行分析(如果简单)可能更好?
DoSomething()
做什么?你考虑过直接读取
数据集吗?@peterm它涉及大量基于数据“运行”的转换,这很难,因为mysql不支持滞后和超前。即使可以通过查询来完成,我也对前面提到的问题感兴趣。我不确定是否可以使用本机客户端来完成这项工作,不过我将尝试使用ODBC客户端来了解两者之间的性能差异。它还需要一些分区工作,因为数据表可以容纳少于1700万行。@我没有意识到在MySqlDocs中引用了两个不同的数据集类:原生.NET数据集对象和自定义MySqlDataSet类。后者看起来可能是针对这个用例设计的,而前者有着非常恼人的行限制。我会调查的。