|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть массив постоянно поступающих значений. Их записываю в базу. Но запись идет дико медленно Вот так создаю Код: sql 1. 2. 3. 4. 5. 6. 7.
Вот так записываю в базу Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Но проблема в том, что когда набирается 2000 строк в запросе, то запись идет ооооочень медленно. Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 18:52 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
qpileНо проблема в том, что когда набирается 2000 строк в запросе, то запись идет ооооочень медленно. Почему так? 1) У тебя расхождение в счетчике... теряешь 1800 записей 2) Скорость записи зависит от тысячи причин. - Может у тебя файл базы лежит на медленном физическом диске, или вообще на сетевом. - Может на таблице 100500 индексов понавешано и их все надо обновлять. - Может у тебя одновременно с записью, на базе висят несколько открытых читающих коннектов и запись вынуждена ждать пока читатели уйдут и позволят обновить таблицу. - Может C# клиент вместо записи занимается какой-то другой фигней. Например мусор собирает, или отрисоывает какой-нибудь ГУИ "идет запись". - Может машина целиком торомозить. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 19:23 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
White Owl, Специально никакие индексы не вешал. Или можно как то существующие удалить? Попробую создать отдельный поток для записи. Ноут нормальный. 4 ядра , 8 гигов оперы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 20:19 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
qpile, БАзой пользуется одна программа. Она пишет и она потом будет читать. Чтение отключено. Пока идет только запись ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 20:20 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
У тебя клиент формирует большую команду на вставку. Это команда находися в памяти клиенте в виде строки. Запиши эту строку в файл. Возьми консольную sqlite3.exe и отдаей ей этот на файл на исполнение (sqlite3 my.db .read file.sql) Сравни скорость работы базы и твоего клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 23:18 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
White Owl, Спасибо за совет! Пробую! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 09:08 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
qpile, попробовал в SQLLITE. Пишет почти моментально запрос 2000 строк. Значит проблема в клиенте получается ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 09:52 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
qpile, Имеется ввиду попробовал в клиента файер фокса ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 09:52 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
qpile, Строки формируй через StringBuilder, а ещё лучше попробуй выполнить запрос с параметрами, может даст хороший прирост скорости Примерчик из моего проекта Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 13:00 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
VSVLAD, AddRange нет в C# почему ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 17:35 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
Пытаюсь сделать так Код: sql 1. 2. 3. 4. 5. 6.
Код: sql 1. 2. 3. 4. 5.
Выдает ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 17:45 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
Сделал тоже самое действие из под нажатия кнопки. Все заработало. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 18:16 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
qpile, Советы от бывалого: 1. используй транзакции 2. PRAGMA synchronous = NORMAL 3. PRAGMA temp_store = DEFAULT ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 21:07 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
пытаюсь в диспатчере сделать запись в базу данных Сейчас уже не виснет, но выводит ошибку Индекс находился вне границ массива. Trader.Trades постоянно обновляется в другом потоке. диспатчер запускается раз в 5 секунд Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
[/SRC] Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 15:01 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
Блин, прав нет на добавление ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 19:47 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
White Owl, А как права получить для добавление в ветку С#? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2017, 13:29 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
VSVLADqpile, Строки формируй через StringBuilder, а ещё лучше попробуй выполнить запрос с параметрами, может даст хороший прирост скорости я не заметил на бесплатном SQLIte провайдере, чтобы переход на запросы с параметрами шото ускорял (чему страшно удивился). Количество вставок в транзакции очень влияет. При автокоммите вообще безобразная скорость. Глазом видно (в фаре) как в каталоге создаются и убиваются рабочие файлы для каждой записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 10:13 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
a -name 1.db -top 10000 <exportgps.csv -number 50 2>nul >>result.txt тут данные для тестирования, если ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 10:20 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
White OwlУ тебя клиент формирует большую команду на вставку.. 1 Шото мне эти дветысячи инсертов в одной строке не нравятся. Почему бы по одной не выполнять. 2 В инструкции по провайдеру (мне кажется) строго рекомендовали классы использовать, а не begin transaction и commit через ExecuteNonQuery(); в моем примере скорость вставок только возрастает при увеличении кол-ва инсертов в транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 10:30 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
Не силен в шарпе, но у тебя там не после каждого инсерта транзакция копитит ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2017, 16:10 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
DYUMON транзакция копитит ? комитит? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2017, 21:03 |
|
Медленно пишет в базу
|
|||
---|---|---|---|
#18+
нет. Пример был написан для хоть какойто оценки скорости вставок. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
-number ZZ - ZZ is the number of inserts in the transaction; кол-во инсертов в транзакции задатся этим ключом ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2017, 21:07 |
|
|
start [/forum/topic.php?fid=54&msg=39441121&tid=2008493]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 250ms |
total: | 399ms |
0 / 0 |