Работа с таблицами

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
523
Баллы
93
Здравствуйте.
Есть данные в 12 таблицах, и есть все эти данные еще в одной таблице.

1. Вариант выборки данных из таблиц:
Берем номер месяца, задаем путь к одной из 12-ти таблице /{month}.csv,
чтобы из папки где 12 документов выбрало один,
далее подключив работаем с таблицей берем случайную строку и распределяем значения ячеек по переменным.

2. Вариант выборки данных из таблицы:
Берем номер месяца, задаем в переменную, в подключенном объемном документе /posts.csv где 5 колонка с номером даты,
через сниппет ищем содержимое ячейки и обратно в переменную ответ в виде номера строки,
далее работаем с таблицей берем строку по известному номеру и распределяем значения ячеек по переменным.

Подскажите какой вариант работы с таблицами лучше и кратко опишите почему?
 

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 697
Благодарностей
940
Баллы
113
Здравствуйте.
Есть данные в 12 таблицах, и есть все эти данные еще в одной таблице.

1. Вариант выборки данных из таблиц:
Берем номер месяца, задаем путь к одной из 12-ти таблице /{month}.csv,
чтобы из папки где 12 документов выбрало один,
далее подключив работаем с таблицей берем случайную строку и распределяем значения ячеек по переменным.

2. Вариант выборки данных из таблицы:
Берем номер месяца, задаем в переменную, в подключенном объемном документе /posts.csv где 5 колонка с номером даты,
через сниппет ищем содержимое ячейки и обратно в переменную ответ в виде номера строки,
далее работаем с таблицей берем строку по известному номеру и распределяем значения ячеек по переменным.

Подскажите какой вариант работы с таблицами лучше и кратко опишите почему?

Судя по ТЗ особой разницы нет. Я бы шел по первому варианту:
1. проще логика (полного тз нет, но разбивка по месяцам видимо не случайна).
2. чем больше таблица, тем больше она жрет ресурсов.
 
  • Спасибо
Реакции: kagorec

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
523
Баллы
93
... чем больше таблица, тем больше она жрет ресурсов.
Вот интересно именно этот момент, большая таблица в памяти кешируется или каждый раз подгружает в память.
 

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 697
Благодарностей
940
Баллы
113
Вот интересно именно этот момент, большая таблица в памяти кешируется или каждый раз подгружает в память.
боюсь ошибиться, но когда я задавался подобным вопросом, ответ был: таблица загружается в оперативку при запуске шаблона. и если таблица весит 100 мб, то в оперативке она займет раза в два больше ресурсов, т.е. 200 мб. поэтому проще работать с маленькими файлами, чем с огромной таблицей.
 

copper12

Client
Регистрация
26.11.2016
Сообщения
1 111
Благодарностей
260
Баллы
63
боюсь ошибиться, но когда я задавался подобным вопросом, ответ был: таблица загружается в оперативку при запуске шаблона. и если таблица весит 100 мб, то в оперативке она займет раза в два больше ресурсов, т.е. 200 мб. поэтому проще работать с маленькими файлами, чем с огромной таблицей.
https://zennolab.com/wiki/ru:project-optimization
Файлы. Файлы для ускорения работы хранятся в оперативной памяти (иначе будут проблемы с доступом к жесткому диску). Если вы для каждого потока используете свою копию файла (так происходит при использовании списков и таблиц без синхронизации с файлом) то, соответственно, каждый поток требует дополнительную оперативную память для хранения этого файла.
Учитывайте, что таблицы в оперативной памяти занимают намного больше места чем исходный файл на жестком диске. Списки не такие требовательные как таблицы, тем не менее, тоже в оперативной памяти увеличиваются.
Например, в оперативной памяти таблица на основе файла CSV в 10 MB в 100 потоков без синхронизации с файлом, может занять 5 GB
 
  • Спасибо
Реакции: kagorec и Konrod_m

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