Есть модель с 128 миллионов строк и с 1000 столбцов. Моя

tableView не может такой объем отрисовывать. Все корректно отрисовывает только около 128к строк.
Для обхода этой проблемы думаю сделать страницы отображения. Как правильно это делать? с какой стороны подходить к решению? Вижу варианты решения:
1. Переделать табличную модель и добавить в нее поле активной страницы.
2. Прокси модель возможно решает такую задачу (не имел опыта работы).
3. Возможно можно сделать через дерево, где отображать (раскрывать) только один узел (страницу) дерева.

14 ответов

9 просмотров
Мгер-Карапетян Автор вопроса

опять чувствую что что то не то делаю)

Вы данные с БАК отображаете? ОЗУ не хватит на такую модель мб. А ещё попробуйте её резайзить потом. Сам пытаюсь отобразить нормально 500к элементов. Сделал экспорт в excel и там уже просмотр, работает быстрее и удобнее.

Когда-нибудь, на пенсии наверное, я напишу большую статью ( страниц на 100) о том, как я писал csv редактор для редактирования 20гб файлов. Но это не для чата разговор.

Sergey eSKon
Когда-нибудь, на пенсии наверное, я напишу большую...

Было бы хорошо если бы это сделали пораньше

. Azmiddin
Было бы хорошо если бы это сделали пораньше

если вкратце, то там было двигающееся окно, и кэш изменений, который писался во временные файлы, но на загрузку таки приходилось показывать прогресс загрузки, который на самом деле просто пробегал по файлу и индексировал его (тоже во временном каталоге). Клиент был доволен

. Azmiddin
Значить просто индексировали файл

ну там скорее нужно было это не для индексации, а для подсчёта количества строк. Ну и сама индексация ничем не поможет - тут ведь вопрос в том как индекс использовать. Если вы попытаетесь всё грузить в память, то индекс ничем не поможет

Sergey eSKon
ну там скорее нужно было это не для индексации, а ...

хотя вру конечно, индексация важней количества. Давно было дело, подзабыл уже. Писал на 4-м кьюте по-моему ещё

Sergey eSKon
хотя вру конечно, индексация важней количества. Да...

однажды я использовал StandartItem и в каждом обновление память грузил компа

Вспомнил вот это, попробовал создать ListView на 2000000000 элементов. Qt написало Model size of 2000000000 is bigger than the upper limit 100000000

Мгер-Карапетян Автор вопроса
我が名はレギオン
Вспомнил вот это, попробовал создать ListView на 2...

сделал прокси модель которая показывает область таблицы

Похожие вопросы

Обсуждают сегодня

Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
А как заставить поиск искать? Есть такая формочка <select class="form-control custom-select" name="brand_id" data-handler="onGetBrands"></select>
Денис Александрович
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
с помощью чего можно бота добавить как админа в чат? (условно в боте есть кнопка, нажатие на которую приводит тебя к выбору чата и выдаче прав боту)
ηє νєямσяє
5
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Добрый день, подскажите как правильно сделать filter в backend-e. Есть модель (товар) у который связь belongsToMany (компания), компаний > 4k, поэтому выборку типа ->all(); н...
Max Dubovsky
7
Или зателаешь в Шелл контейнера ?
Vladimir 
3
А цены чем оправданы?
Lencore
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Карта сайта