|
|
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
Потребовалось динамически создать 1500 столбцов и потом последовательно вставлять около 800000 запичей Insert'ом структура MemTable создаётся нормально, но после вставки более 25000-30000 строки "Out memory" может подскажете как поступить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 14:44 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
Перейти на 64 бита и накинуть в комп террабайт ОЗУ. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 14:46 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
винда десятка 64, оперативы на компе 42 Гб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 14:46 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
Так программу надо компилировать в 64 бита, а не систему. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 14:48 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
так сложилось, что это проблематично...а другие идеи есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 14:54 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
SergeyKNP, а просто выполнять группами sql запросы на вставку? Тогда никаких out of memory ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 14:59 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
Забить на программирование, раз уж не получается на калькуляторе посчитать сколько ОЗУ займут желаемые данные. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 14:59 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
во время вставки записей память не поднималась выше 10ти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:08 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
Какие столбцы в таблице ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:10 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
asutp2 "а просто выполнять группами sql запросы на вставку? Тогда никаких out of memory" это же MemTable, как вставить группу строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:11 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
SergeyKNP, а что, работать с базой без MemTable не умеешь?) ведь всё просто - создаешь соединение, создаешь для выполнения групповых запросов, формируешь sql-запросы группами и их выполняешь. И просто, и быстро, и решается твоя задача, без использования компа с гигантским количеством памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:15 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
SergeyKNPво время вставки записей память не поднималась выше 10ти Врёшь, для 32-х разрядных приложений практический предел - два гигабайта. Теоретический - три. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:18 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
столбцы создаются динамически... если выбрали интервал 01.01.2020-31.12.2020, то в итоге 366 дней * 4 столбца (необходимо для каждого дня года)... потом обрабатываю результат запроса (около 80000 строк)...посточно вставляю в MemTable при вставке более 25000 строк "Out memory" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:27 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
asutp2 если не трудно, напиши подробнее, как группой вставить в MemTable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:29 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. потом вставляю построчно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:32 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
SergeyKNP DM3.MemTB2.Close; DM3.MemTB2.FieldDefs.Clear; DM3.MemTB2.Fields.Clear; DM3.MemTB2.IndexDefs.Clear; for i1 := 1 to i2 do //i2= 366*4 begin DM3.MemTB2.FieldDefs.Add('DN' + tg2 + tm2_n + FormatDateTime('dd', dt1), ftInteger, 0, False); DM3.MemTB2.FieldDefs.Add('MM' + tg2 + tm2_n + FormatDateTime('dd', dt1), ftInteger, 0, False); DM3.MemTB2.FieldDefs.Add('DNs' + tg2 + tm2_n + FormatDateTime('dd', dt1), ftCurrency, 0, False); DM3.MemTB2.FieldDefs.Add('MMs' + tg2 + tm2_n + FormatDateTime('dd', dt1), ftInteger, 0, False); end; DM3.MemTB2.CreateDataSet; DM3.MemTB2.Open; потом вставляю построчно хоть как делай, но без перекомпилирования в 64 бита не получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:40 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
SergeyKNP Потребовалось динамически создать 1500 столбцов и потом последовательно вставлять около 800000 запичей Insert'ом структура MemTable создаётся нормально, но после вставки более 25000-30000 строки "Out memory" может подскажете как поступить? 1500 * 800000 = 1200000000 байт, это если каждое поле занимает 1 байт и ни на что память больше не тратится. Совсем "ку-ку"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 15:57 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Врёшь, для 32-х разрядных приложений практический предел - два гигабайта. Теоретический - три. Четыре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 16:09 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
SergeyKNP Потребовалось динамически создать 1500 столбцов и потом последовательно вставлять около 800000 запичей Insert'ом структура MemTable создаётся нормально, но после вставки более 25000-30000 строки "Out memory" может подскажете как поступить? Ты же не будешь отображать эту таблицу визуально, в гриде ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 16:20 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
"Ты же не будешь отображать эту таблицу визуально, в гриде ?" как догадался? :) как раз для этого и нужно...а так бы писал сразу Excel например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 16:22 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
"хоть как делай, но без перекомпилирования в 64 бита не получится" жаль...может есть ещё идеи как получить желаемое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 16:23 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
я уж думаю, может создавать локально какой-нибуль файл на SQLlite например...писать туда и потом отобразить в гриде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 16:25 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
SergeyKNP "Ты же не будешь отображать эту таблицу визуально, в гриде ?" как догадался? :) как раз для этого и нужно...а так бы писал сразу Excel например Ну я конечно не читал твое ТЗ, но что-то уж очень экзотическое. Если нельзя отказаться от этого безобразия, то сделай одну реальный столбец, типа ID. А все остальные вычислимые. Когда юзер будет листать твою мегатаблицу, то содержимое столбцов будет подтягиваться из... откуда ты там собирался их брать при заполнении таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 16:26 |
|
||
|
FDMemTable как вставить 800000 записей с 1500 столбцов
|
|||
|---|---|---|---|
|
#18+
SergeyKNP я уж думаю, может создавать локально какой-нибуль файл на SQLlite например...писать туда и потом отобразить в гриде? Проверь максимальное количество столбцов в SQLite. Может он не сможет 1500. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2021, 16:28 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40036352&tid=2037693]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 495ms |

| 0 / 0 |
