Поэксперементировал с базами разного размера, пример andrestudio, читает базы любого размера (пробовал до 150мб) но не так быстро как хотелось бы и что-то с кодировками не так.
Через ODBC - базы до 50-70 мб читаются, а большего размера виснут и выдают ошибку.
Этот топик читают: Гость
Ответов: 409
Рейтинг: 17
|
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Pirr писал(а): 50-70 мб читаютсНу не читают в память такие базы полностью. В конструкции компонента выделяется память под запрос, естественно, ее не хватает при таких объемах. Вывод, читай базу с ограничением по количеству строк вывода, а не полностью. Да ты на миг представь, куда ты будешь запихивать базу в 1000000 записей, если не будешь читать ее частями Pirr писал(а): и что-то с кодировками не такА что, у меня зря стоит перекодировщик DosToWin (Charset) andrestudio, про него, почему-то, забыл |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Pirr, как только поймеш, что читать нужно только то что нужно, а не всю базу, так сразу все проблемы исчезнут.
------------ Дoбавленo в 10.47: nesco писал(а): А что, у меня зря стоит перекодировщик DosToWin andrestudio, про него, почему-то, забыл |
|||
карма: 25 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Tad писал(а): а не всю базу, так сразу все проблемы исчезнутВо! И я про то же. ------------ Дoбавленo в 10.48: Tad писал(а): А ты хоть оду фамилию прочесть всух можешь?Не понял |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): Не понялКолонки: Позывной-Фамилия-имя -Отчество. ------------ Дoбавленo в 11.05: Вот тебе для затравки данные по первому позывному: Call EK1KE
Name Варданян Рафик Алексанович Address 0097, Ереван, 16 Квартал д.33 кв. 73 Country АРМЕНИЯ Phone 356047 QTH LOC# LN20GE А вот "фотография" прямо с представленой andrestudio БД В БД кодировка ASCII (DOS) |
|||
карма: 25 |
| ||
файлы: 2 | a9.png [2.5KB] [476], a10.png [2KB] [483] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 7 раз(а), последний 2021-06-24 07:09:46 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
54.108.254.80.static.donp писал(а): или скажем запрос из 150мб таблицы будет размером 100 мбСоставить правильный запрос - искуство. А запросить даже 10мб данных, а потом выбрать одну, даже не строку, а ячейку - ты меня извини. Почему SELECT самый сложный ? Для того чтобы в результате получить только то, что нужно. |
|||
карма: 25 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 7 раз(а), последний 2021-06-24 07:08:59 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
54.108.254.80.static.donp писал(а): Плюс ко всему мне нужно будет работать с несколькими DBF (3-5 файлов размером до 150 мб), делать выборки, сравнения, выгрузки и т.д.И ничего ни глючить ни тормозить не будет. |
|||
карма: 25 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Tad писал(а): В БД кодировка ASCII (DOS)CP_866. На моем компе с патчем CP_1252 To CP_1251 показывает нормально. А у тебя текущая страница на компе CP_1252 не патченная , вот и косяк. Для русских компов с патчем нужно ставить CP_866 To CP_1251 (или DosToWin при наличии патча). К тому же, чел ясно написал Pirr писал(а): и что-то с кодировками не такЕще вопросы есть |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Pirr, Когда мне из 6 миллионов жителей Израиля нужно найти одного - ищу по номеру телефона, паспорта и через секунды вижу его на мониторе.
А если искать по фамилии, то... знаешь сколько Эдельманов или Шапиро в Израиле? Десятки тысяч. По году рождения - меньше. Даже если полностью знаешь дату и ФИО - результат не однозначный - найдутся и полные тезки и однодневки. ------------ Дoбавленo в 11.56: Pirr, объязательно прочти, что nesco написал выше - будеш клиентам рассказывать. |
|||
карма: 25 |
|
Ответов: 409
Рейтинг: 17
|
|||
Tad писал(а): Почему SELECT самый сложный ?Про Select мне не надо говорить, я тут уже собаку на нем съел. Но вот конкретная задача: отобразить таблицу SELECT * FROM table, а table - может быть любой. А в ответ жуткие тормоза и RunTime Error Если у компонента есть ограничение по памяти, то я немогу быть уверен в работоспособности программы. |
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Tad писал(а): будеш клиентам рассказыватьК сожалению, проблема русифицированной Винды не снята с повестки дня. ------------ Дoбавленo в 12.04: Pirr писал(а): я тут уже собаку на нем съелЕсли бы съел, то вопросов, какие умудрился задать, не задавал бы ------------ Дoбавленo в 12.10: Pirr писал(а): у компонента есть ограничение по памятиУ системы есть, а не у компонента. 100 меговые базы, ни один умный человек в память не грузит. |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Pirr писал(а): Но вот конкретная задача: отобразить таблицу SELECT * FROM table, а table - может быть любой.SELECT * FROM table это ПЕРВЫЙ ПРИМЕР для чайников. Ну кто виноват , что пример возвели в ранг аксиомы. Забудь ты о нем - чем раньше забудеш тем спокойней для тебя. Вот в примере от nesco в таблице помещается 12 строк, ну и читай по 12 строк. Подключи PageUP , PageDown и листай по 12 строк, а по стрелочкам по 1 строке. Кто не дает ? А 12 строк - считает с любой БД моргнуть не успеешь. В базе ric.dbf ~60000 записей : 12 = сам посчитай сколько раз ------------ Дoбавленo в 12.38: Pirr писал(а): На просторах интернета наткнулся на исходники |
|||
карма: 25 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Tad, вопрос -- как прочитать 12 строк, не используя LIMIT (в стандарте его нет, проверено -- фиг вам, называется) и не имея ID поля
------------ Дoбавленo в 12.44: Tad писал(а): а на просторах интернета можно еще и не в такое вступитьНе только вступить, но и утонуть |
|||
карма: 22 |
|