|
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229
|
||||||||||||||||
Entity Framework проблемы с памятью11.02.2021, 09:28. Показов 3715. Ответов 67
Метки нет (Все метки)
Добрый день, Я тут решил разобраться с такой вещью как Entity Framework взял базу sqlite в таблице 1м строк и 263 столбца преимущественно float значения.
Создал контекст
Добавлено через 33 секунды Модель таблицы
0
|
||||||||||||||||
| 11.02.2021, 09:28 | |
|
Ответы с готовыми решениями:
67
В чем разница между Entity Framework и Entity Framework Core? Entity Framework. Удаление entity без удаления связей Entity Framework 6 |
|
14305 / 9389 / 1355
Регистрация: 21.01.2016
Сообщений: 35,403
|
||||
| 11.02.2021, 09:35 | ||||
Value52. Плюс к этому, EF создаёт копию (в памяти) каждого объекта, чтобы потом можно было определить что в них изменилось (для механизма Change Tracking). Поэтому памяти уходить сильно больше.
2
|
||||
|
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229
|
|
| 11.02.2021, 11:42 [ТС] | |
|
Я понимаю что я делаю всё не так. Это первый опыт с ef в этом и вопрос как правельно проделывать данные операции.
А поповобу того чо ef создаёт копии данных я понял. Моя задача уменьшить потребляемую память и облегчить доступ к данным. Как показала практика у меня не очень получилось. Я не понимаю как мне сдель так чтобы на выхлди был просто массив данных без копий и т. д.
0
|
|
|
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229
|
|
| 11.02.2021, 12:12 [ТС] | |
|
А что там проэктировать она нормальная. Тут вопрос не в работоспособности бд эта база в даном виде уже работает 2 года без нариканий. Это отговорка какая-то в примере одна таблица эти даные идут в комлексе разделять их нельзя как что тут проэтировать?
0
|
|
|
14305 / 9389 / 1355
Регистрация: 21.01.2016
Сообщений: 35,403
|
|||||||
| 11.02.2021, 12:41 | |||||||
|
Graf1385, таблица с 263 столбцами не есть нормально. Это точно ошибка проектирования. Тут явно должно быть большее количество таблиц, каждая под свои колонки.
Но если прямо по сути вопроса, то нужно использовать проекции:
0
|
|||||||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 11.02.2021, 14:45 | |
|
У меня вопрос к ТС: как он представляет себе работу пользователя с 70 000 записей в гриде, да при том еще 263 столбца ?
Сам факт, что все свалено в единственную таблицу (представляю какой там бардак), говорит о том, то горе-разработчик этой горе-БД тупо содрал ее из какого-нибудь Excel, с которым работала "100 лет в обед" пресловутая Марьиванна
0
|
|
|
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229
|
|||
| 11.02.2021, 15:17 [ТС] | |||
|
Давайте подискутируем на эту тему мне очень интересно. Как бы вы разделили данную таблицу? Сразу уточню что значения value0 - value254 это показания определённых приборов а значение value52 это единица времени. То есть одна стока таблицы это собранные показания с приборов за определённую единицу времени. Ещё ни одно значения в таблице не может быть null это очень важно, также кол-во значений должно соответствовать количеству первичного ключа Value52 то есть если не одного приборе нет то запись будет выглядеть так value0-value254 = 0 а value52 = единице времени.
Добавлено через 3 минуты
Но по поводу грида легко представляю VirtualMode = true. Добавлено через 16 минут
0
|
|||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|||
| 11.02.2021, 15:20 | |||
|
Причем вторая содержит все возможные виды показаний: но заполняются только те поля, которые нужны для данного прибора. Например, есть два датчика: температуры и высоты. Оба датчика в 1-й таблице, во второй 4 поля: 2 с id (собственный и парентский id датчика), поле тепературы и поле высоты. Для первого датчика значение только в поле температуры, в поле выстоты null, для второго - наоборот. Если нужно вывести кросс-таблицу (pivot) с пресловутыми 268 колонками, то это делается соответствующим запросом. И для этого совершенно не нужна безобразная монстроидальная таблица в БД, грузящая и сервер и приложение.
0
|
|||
|
управление сложностью
|
||||
| 11.02.2021, 15:25 | ||||
, тут гением не нужно быть, тут нужно быть:
0
|
||||
|
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229
|
||||
| 11.02.2021, 15:58 [ТС] | ||||
|
Добавлено через 2 минуты
![]() Добавлено через 5 минут
0
|
||||
|
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229
|
|||
| 11.02.2021, 16:26 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
|
|||||||
| 11.02.2021, 16:46 | |||||||
|
Добавлено через 10 минут Для EF начните с AsNoTracking(), хотя, повторюсь, он тут нафиг не нужон
1
|
|||||||
|
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229
|
|||
| 11.02.2021, 16:56 [ТС] | |||
|
плюс Timestamp (DATETIME) будет повторяться 255 раз одно и тоже значения. Это же расходование памяти в пустую. Добавлено через 3 минуты
0
|
|||
|
14305 / 9389 / 1355
Регистрация: 21.01.2016
Сообщений: 35,403
|
||
| 11.02.2021, 17:04 | ||
|
0
|
||
|
0 / 0 / 5
Регистрация: 09.10.2015
Сообщений: 229
|
||
| 11.02.2021, 17:19 [ТС] | ||
0
|
||
|
14305 / 9389 / 1355
Регистрация: 21.01.2016
Сообщений: 35,403
|
|
| 11.02.2021, 17:24 | |
|
Graf1385, вы мои посты вообще не читали?) Там даже пример есть кода...
0
|
|
| 11.02.2021, 17:24 | |
|
Помогаю со студенческими работами здесь
20
Entity framework One vs Zero-or-One
Проблемы с Entity framework
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|