Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.01.2013, 13:52
|
|||
---|---|---|---|
|
|||
LINQ join List<T> и большой таблицы из базы |
|||
#18+
Пытаюсь сделать join между неким List<T> с несколькими сотнями записей и таблицей в базе с несколькими миллионами записей. Задача - выяснить, есть ли в БД строки с такими же параметрами как и в List<T>. Индекс в таблице присутствует. Код: c# 1. 2. 3. 4. 5.
Выполнение этой конструкции практически вешает машину, занимая все системные ресурсы. Если посмотреть профайлером, то в SQL приходит запрос, который делает выборку сразу ВСЕХ записей из таблицы в БД на сторону клиента. Я так понимаю, что непосредственно сам join будет происходить не в БД, а на клиенте... ну это и понятно, БД же ничего не знает о данных в List<T>. Вопрос в том как можно изменить такую конструкцию (или на что ее заменить), чтобы вытащить соединяющиеся данные? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2013, 16:11
|
|||
---|---|---|---|
LINQ join List<T> и большой таблицы из базы |
|||
#18+
Напиши SQL запрос, которых хотелось бы видеть, проверь его работу в Management Studio, удовлетворены ли ожидания. Если да, сикдывай сюда SQL запрос. P.S. Чтобы получить быстро ответ на вопрос, принято предоставлять тестовый код, а не тот огрузок. Плюс схему таблиц и их наполнение. Слепи простенькую демку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2013, 18:20
|
|||
---|---|---|---|
|
|||
LINQ join List<T> и большой таблицы из базы |
|||
#18+
ZigsЗадача - выяснить, есть ли в БД строки с такими же параметрами как и в List<T>. "большая" таблица Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Поиск входящих в нее строк Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Ради интереса накатал, в силу почти не знания MS SQL SERVER, об эффективности судить не могу, да и при такой постановке (где же схема данных, автор?) говорить о чем-то смысла мало. На какие поля у вас индексы есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2013, 18:35
|
|||
---|---|---|---|
|
|||
LINQ join List<T> и большой таблицы из базы |
|||
#18+
Задача - выяснить, есть ли в БД строки с такими же параметрами как и в List<T>. Что в ответе должно быть? 1) Отдать строки, которые есть 2) Просто сказать да/нет (все строки списка есть в большой) 3) Просто сказать да/нет (хоть какая то строка из списка есть в большой) и т. п.. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=17&mobile=1&tid=1350120]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
147ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
others: | 299ms |
total: | 521ms |
0 / 0 |