|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
автортаких GetItemByItemId Используйте курсоры в SqlCe По id они будут просто летать Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 19:02 |
|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
sigmovИспользуйте курсоры в SqlCe По id они будут просто летать Код: c# 1. 2. 3. 4.
И потом ползать по SqlCeResultSet с помощью Seek? Это будет в разы тормознее, чем один запрос с джойном. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 06:34 |
|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
Какие курсоры? ORM и баста. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 09:17 |
|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
sigmov, спасибо за курсоры, проблему решил join, скорость выполнения запроса значительно возросла, сообщество подтолкнуло на верное решение. Теперь осталось разобраться как сделать 7 последовательных insert-ов за одну операцию. Может кто знает, как обмануть query processor? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 10:43 |
|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, знаю, не подходит, мне надо id получать ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 14:21 |
|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
TorreСон Веры Павловны, знаю, не подходит, мне надо id получать Получать Id от нескольких вставок за одну операцию? Это возможно только на нормальном человеческом sql server, где можно выполнить insert .. output в таблицу/табличную переменную. SqlCE не поддерживает output clause в insert. А если речь идет просто о заполнении identity-поля, то надо просто не включать его в маппинг SqlCEBulkCopy - точно так же, как и при работе с обычным SqlBulkCopy. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2014, 15:12 |
|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныsigmovИспользуйте курсоры в SqlCe По id они будут просто летать Код: c# 1. 2. 3. 4.
И потом ползать по SqlCeResultSet с помощью Seek? Это будет в разы тормознее, чем один запрос с джойном.Я с SqlCe уже 3 проекта выполнял, поверь мне, TableDirect курсор быстрее быть не может. Специально тестировал . Вы видимо просто "не умеете/пробовали его готовить". Torre Теперь осталось разобраться как сделать 7 последовательных insert-ов за одну операцию. Может кто знает, как обмануть query processor?Открываете транзакицю и через курсор(быстрее) или sqlQuery фигачите ваши 7 записей. Коммитите транзакцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 11:30 |
|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
sigmov, спасибо, попробую. Кстати, можно поинтересоваться, как влияет объем БД на производительность приложения? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 13:58 |
|
Медленная работа SQL CE
|
|||
---|---|---|---|
#18+
sigmovСпециально тестировал . Вы видимо просто "не умеете/пробовали его готовить". Да уж куда нам убогим. В тесте, кстати, а) SqlCE сравнивается с SQLite, которая к этой теме никаким боком; б) всё проверки идут на основании оперций над одной таблицей, а проблема, обсуждаемая здесь - энное количество обращений по id из одной таблицы к другой таблице. Ну, и раз уж речь зашла о тестах: таблицы тестовой базы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
подготовка данных: Код: c# 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. 27. 28. 29. 30. 31. 32. 33. 34. 35.
(консольный вывод показывает, что в Objects 222512 записей, в Columns 206738 записей - не у всех объектов есть колонки). Далее, запросом требуется вытащить из базы объекты с колонками, и смапить вот на такую структуру: Код: c# 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. 27. 28. 29.
Берем вспомогательный класс: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Извлекаем данные: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Собираем в кучу, засекаем время: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Консольный вывод: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 15:24 |
|
|
start [/forum/topic.php?fid=20&msg=38548237&tid=1403314]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 157ms |
0 / 0 |