为什么选择查询在Oracle中的运行速度比sql server慢

时间:2012-04-20 06:57:14

标签: oracle query-optimization odp.net

我正在使用带有以下代码的ODP.Net从Oracle数据库中读取数据

    OracleConnection con = new OracleConnection(connectionString);
            OracleCommand cmd = new OracleCommand( SELECT ID,RECORD(XMLType) FROM tbl_Name, con);
            con.Open();
        OracleDataReader _dataReader = cmd.ExecuteReader();

    while (_dataReader.Read())
                {
     string rowId = _dataReader[0].ToString();
                 string xmlString = _dataReader[1].ToString();
    adding this data into Queue for further processing
    }

它工作正常,但在一分钟内它只能读取10000条记录。如果我使用SqlServer数据库,它会在具有相同模式的表中读取500000分钟的记录。

如果我错过了使用ODP.NET

更快地读取数据的内容,请帮助我

谢谢。

**

  • 解答:

**

我尝试过GetClobVal()和GetString Val()函数,现在工作正常。

从tableName t“

中选择t.RECID,t.XMLRECORD.GetClobVal()

从tableName x“

中选择x.RECID,x.XMLRECORD.getStringVal()

如果我们将这些查询与oracle命令一起使用,它将运行得很快,但速度不如sql server查询。

0 个答案:

没有答案