Это проблема, которую мой друг задал по телефону. Написанная им программа на C # 3.5 заполняет набор данных из таблицы Patient Master, в которой содержится 350 000 записей. Он использует драйвер Microsoft ADO.NET для Oracle. Метод ExecuteQuery занимает более 30 секунд, чтобы заполнить набор данных. Тем не менее, тот же запрос (выборка около 20 тыс. Записей) занимает менее 3 секунд в Toad. Он не использует транзакции в рамках программы. У него есть индекс в столбце (Имя), который используется для поиска.
Вот некоторые альтернативы, которые я предложил: -
1) Попробуйте использовать Data Reader, а затем заполните таблицу данных и передайте ее в форму, чтобы связать ее с полем со списком (что не очень хорошая идея, поскольку это может занять то же время)
2) Попробуйте драйвер ADO.NET для Oracle
3) Используйте профилировщик Ants, чтобы определить, можете ли вы определить какую-либо конкретную строку ADO.NET.
Кто-нибудь сталкивался с подобными проблемами и как можно решить эту проблему?
Спасибо,
Чак.