Скорость записи в файл.

baracuda

Client
Регистрация
19.06.2013
Сообщения
790
Благодарностей
277
Баллы
63
Как ускорить время записи ? в базе 59 строк(10 столбов).. на выходе в файла 100 и 50 строк соответственно. А есть строк 10к.. будет ??? в чём может быть проблема ?

70855


70856


70857
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 393
Благодарностей
5 447
Баллы
113
в чём может быть проблема ?
т.е. по факту проблемы нет, но вы ее обозначили?))

Просто будет долго записывать, для быстрой записи используется база данных. Но что бы записать много строк быстро, надо еще правильно запрос сформировать.
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
790
Благодарностей
277
Баллы
63
понял. спасибо. как то грусно выходит 10 строк в секунду запись в текстовик при 70 символах в строке. буду думать на тему баз плотно.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 393
Благодарностей
5 447
Баллы
113

baracuda

Client
Регистрация
19.06.2013
Сообщения
790
Благодарностей
277
Баллы
63

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 393
Благодарностей
5 447
Баллы
113
Даже построчная запись в БД должна быть лучше. А если оптимизировать и записывать инфу пачками, то скорость будет впечатляющей. Попробуй пока просто стандартными кубиками записывать. Есть статьи на тему БД с шаблонами.
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
790
Благодарностей
277
Баллы
63
ими родными и пробую.... из всего сложного это я формирую список(привязка файла) 100 строк и потом по завершению цикла(и ожидания 10 сек) этот файл я копирую. возможно только тут вижу проблему.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 393
Благодарностей
5 447
Баллы
113
ими родными и пробую....
Я про кубики БД

из всего сложного это я формирую список(привязка файла) 100 строк и потом по завершению цикла(и ожидания 10 сек) этот файл я копирую. возможно только тут вижу проблему.
Если мне надо проверить проблемное место. То я расставляю секундомер с оповещением в лог. Сейчас скину проект.
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 393
Благодарностей
5 447
Баллы
113
держи
 

Вложения

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 715
Баллы
113
ими родными и пробую.... из всего сложного это я формирую список(привязка файла) 100 строк и потом по завершению цикла(и ожидания 10 сек) этот файл я копирую. возможно только тут вижу проблему.
а зачем привязывать и ждать ? кидай данные напрямую.
70865
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
790
Благодарностей
277
Баллы
63
жизнь пытаюсь упростить... сначала шапка формируется, потом генерится основа в цикле. потом низ...
файл надо перезаписывать с нуля. при каждом обновление...

не думал просто что несколько десятков строк создадут проблему.
вариант ещё как то формировать в теории переменную списком, но не придумал.
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63
Инструкция: Записать строку в файл.
Является ресурсозатратной. Операция ввода-вывода, создает блокировку к ресурсу, в случае бесконтрольного доступа, выдаст исключение: Ресурс занят (используется) другим потоком.

Файловый дескриптов

Оптимальный вариант:
1. Записать данные в ОЗУ, используя C# List<T> или IZennoList
2. Записать коллекцию (массив) в файл, примерно так: File.AppendAllLines(путь, коллекция);

Примечание:
Если данных (в списке) много, то лучше порционно заносить в файл, к примеру по 1000 стр. или каждые н кол-во времени.
В случае, непредвиденных обстоятельств, хоть какая-то часть данных будет сохранена и весь процесс не насмарку.

Удачи!
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)