|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
Подскажите, как ускорить, (или заменить) приведенный код, для ускорения работы. Указанным способом, записи в БД добавляются крайне медленно (10000 в минуту). Код: plaintext 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. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 09:52 |
|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
Kirll, 1. Вставляйте не по одному, а пачками. 2. Если на таблице есть индексы по Id, а Guid.NewGuid() даёт новые значения в случаной порядке - то при вставке ваши индексы каждый раз будут раздвигаться. 3. Купите быстрый жётский диск. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 11:53 |
|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
SolYUtorKirll, 1. Вставляйте не по одному, а пачками. Запросы через ';' не робит, ошибку пишет Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Не понимаю, что раздвигаться будет? Это же получается обычный стринг. 3. Купите быстрый жётский диск. И так не самый медленный... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 15:27 |
|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
Kirll Код: plaintext 1. 2. 3. 4.
или вот еще посмотрите: http://sqlcebulkcopy.codeplex.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 01:29 |
|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
Kirll, в цикле переоткрывать соединение на каждую запись)))))) купи голову. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 01:33 |
|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
С Select и Union All что-то у меня не заладилось. А может команды не поддерживаются SqlCe? Переделав код повысил скорость до более-менее приемлимой (~6000/сек): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
BulkcopyCe очень заинтересовал. Только не могу найти примеров применения... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 20:31 |
|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
Kirll, Теперь попробуй prepare/bind ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 21:46 |
|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
KirllС Select и Union All что-то у меня не заладилось. что "не заладилось"? как именно "не заладилось"? просто само по себе взяло и "не заладилось"? KirllА может команды не поддерживаются SqlCe? Эээ... даже не знаю что тебе сказать... ты даже гуглом пользоваться не умеешь? http://technet.microsoft.com/ru-ru/library/ms174854(SQL.90).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2011, 01:22 |
|
Медленно добавляются записи в БД MSSQL CE
|
|||
---|---|---|---|
#18+
Для таких же чайников как и я, даю свой вариант применения SqlCeBulkCopy. Я не ГУРУ C# и Visual Studio поэтому крайне желательны правки и дополнения. Вот от сюда: http://sqlcebulkcopy.codeplex.com/ качаем архив с dll-ками. Про их подключение кратко написано http://www.cyberforum.ru/csharp-net/thread37940.html Или еще проще: -скопировать в bin\debug проекта -в обозревателе решений добавить ссылки на данные файлы -в коде добавить using ErikEJ.SqlCe; Ниже приведен код, в котором в файл БД сохраняется таблица с двумя столбцами ID и name; Вначале CreateDataSet(). Затем SaveFilesArray(string dbname) Скорость записи получилась >40000/сек. Код: plaintext 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2011, 09:08 |
|
|
start [/forum/topic.php?fid=17&fpage=40&tid=1350583]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
49ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 320ms |
total: | 501ms |
0 / 0 |