回答

收藏

优化对未知数据库的查询

技术问答 技术问答 226 人阅读 | 0 人回复 | 2023-09-12

第三方应用程序为每个项目创建一个数据库。所有数据库都有相同的表和结构。新项目可以随时添加,所以我不能使用任何 EF 架构。) d. a. c" B5 B/ s9 t8 G& W
我现在要做的是:
& c' J: W, l$ _4 V% J3 i[code]    private IEnumerable getListRespondentWithStatuts(string db)                                                                                                                                                                                                                 return query("select * from "   db   ".dbo.respondent");   }    private List query(string sqlQuery)                                                                                                                                                                                                                 using (var sqlConx = new SqlConnection(Settings.Default.ConnectionString))                                                                                                                                                                                                                         sqlConx.Open();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;var cmd = new SqlCommand(sqlQuery,sqlConx);            return transformReaderIntoRespondentList(cmd.ExecuteReader());        }    }    private List transformReaderIntoRespondentList(SqlDataReader sqlDataReader)                                                                                                                                                                                                                 var listeDesRépondants = new List();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;while (sqlDataReader.Read())                                                                                                                                                                                                                         var respondent = new Respondent                                                                                                                                                                                                                                 CodeRépondant = (string)sqlDataReader["ResRespondent"],                                                            IsActive = (bool?)sqlDataReader["ResActive"],               CodeRésultat = (string)sqlDataReader["ResCodeResult"],               Téléphone = (string)sqlDataReader["Resphone"],               IsUnContactFinal = (bool?)sqlDataReader["ResCompleted"]        listeDesRépondants.Add(respondent);          return listeDesRépondants;   code]这项工作很正常,但速度很慢(每分钟记录2万  条)。你应该提示什么策略应该更快吗?相关信息真的很慢transformReaderIntoRespondentList方法) K, f6 ^0 c" y7 A6 C: Q
谢谢!!
8 {4 r1 Z: v8 t5 a                                                                4 F* p( P2 d: S- R0 S
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则