Вверх ↑
Этот топик читают: Гость
Ответов: 409
Рейтинг: 17
#31: 2009-06-24 09:17:37 ЛС | профиль | цитата
Поэксперементировал с базами разного размера, пример andrestudio, читает базы любого размера (пробовал до 150мб) но не так быстро как хотелось бы и что-то с кодировками не так.
Через ODBC - базы до 50-70 мб читаются, а большего размера виснут и выдают ошибку.
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#32: 2009-06-24 10:37:14 ЛС | профиль | цитата
Pirr писал(а):
50-70 мб читаютс

Ну не читают в память такие базы полностью. В конструкции компонента выделяется память под запрос, естественно, ее не хватает при таких объемах. Вывод, читай базу с ограничением по количеству строк вывода, а не полностью.

Да ты на миг представь, куда ты будешь запихивать базу в 1000000 записей, если не будешь читать ее частями

Pirr писал(а):
и что-то с кодировками не так

А что, у меня зря стоит перекодировщик DosToWin (Charset) andrestudio, про него, почему-то, забыл
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#33: 2009-06-24 10:46:08 ЛС | профиль | цитата
Pirr, как только поймеш, что читать нужно только то что нужно, а не всю базу, так сразу все проблемы исчезнут.
------------ Дoбавленo в 10.47:
nesco писал(а):
А что, у меня зря стоит перекодировщик DosToWin andrestudio, про него, почему-то, забыл
А ты хоть одну фамилию прочесть вслух можешь?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#34: 2009-06-24 10:48:05 ЛС | профиль | цитата
Tad писал(а):
а не всю базу, так сразу все проблемы исчезнут

Во! И я про то же.
------------ Дoбавленo в 10.48:
Tad писал(а):
А ты хоть оду фамилию прочесть всух можешь?

Не понял
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#35: 2009-06-24 10:54:30 ЛС | профиль | цитата
nesco писал(а):
Не понял
Твоя схема.
Колонки: Позывной-Фамилия-имя -Отчество.


------------ Дoбавленo в 11.05:
Вот тебе для затравки данные по первому позывному:
Call EK1KE
Name Варданян Рафик Алексанович
Address 0097, Ереван, 16 Квартал д.33 кв. 73
Country АРМЕНИЯ
Phone 356047
QTH LOC# LN20GE

А вот "фотография" прямо с представленой andrestudio БД


В БД кодировка ASCII (DOS)

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2a9.png [2.5KB] [476], a10.png [2KB] [483]
Гость
Ответов: 17029
Рейтинг: 0
#36: 2009-06-24 11:18:43 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2021-06-24 07:09:46
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#37: 2009-06-24 11:19:10 ЛС | профиль | цитата
54.108.254.80.static.donp писал(а):
или скажем запрос из 150мб таблицы будет размером 100 мб
и сколько лет тебе нужно для детального ознакомления с полученными 100мб данных. Все равно ты выбереш (глазами) одну, две, от силы три строки.
Составить правильный запрос - искуство.
А запросить даже 10мб данных, а потом выбрать одну, даже не строку, а ячейку - ты меня извини.

Почему SELECT самый сложный ?
Для того чтобы в результате получить только то, что нужно.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#38: 2009-06-24 11:20:37 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2021-06-24 07:08:59
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#39: 2009-06-24 11:29:32 ЛС | профиль | цитата
54.108.254.80.static.donp писал(а):
Плюс ко всему мне нужно будет работать с несколькими DBF (3-5 файлов размером до 150 мб), делать выборки, сравнения, выгрузки и т.д.
делать выборки, сравнения, выгрузки нужно хорошо перед этим подумав.
И ничего ни глючить ни тормозить не будет.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#40: 2009-06-24 11:33:23 ЛС | профиль | цитата
Tad писал(а):
В БД кодировка ASCII (DOS)


CP_866. На моем компе с патчем CP_1252 To CP_1251 показывает нормально. А у тебя текущая страница на компе CP_1252 не патченная , вот и косяк. Для русских компов с патчем нужно ставить CP_866 To CP_1251 (или DosToWin при наличии патча).

К тому же, чел ясно написал

Pirr писал(а):
и что-то с кодировками не так


Еще вопросы есть
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#41: 2009-06-24 11:38:52 ЛС | профиль | цитата
Pirr, Когда мне из 6 миллионов жителей Израиля нужно найти одного - ищу по номеру телефона, паспорта и через секунды вижу его на мониторе.
А если искать по фамилии, то... знаешь сколько Эдельманов или Шапиро в Израиле? Десятки тысяч.
По году рождения - меньше. Даже если полностью знаешь дату и ФИО - результат не однозначный - найдутся и полные тезки и однодневки.
------------ Дoбавленo в 11.56:
Pirr, объязательно прочти, что nesco написал выше - будеш клиентам рассказывать.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 409
Рейтинг: 17
#42: 2009-06-24 11:58:39 ЛС | профиль | цитата
Tad писал(а):
Почему SELECT самый сложный ?

Про Select мне не надо говорить, я тут уже собаку на нем съел.
Но вот конкретная задача: отобразить таблицу SELECT * FROM table, а table - может быть любой.
А в ответ жуткие тормоза и RunTime Error
Если у компонента есть ограничение по памяти, то я немогу быть уверен в работоспособности программы.
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#43: 2009-06-24 12:02:55 ЛС | профиль | цитата
Tad писал(а):
будеш клиентам рассказывать

К сожалению, проблема русифицированной Винды не снята с повестки дня.

------------ Дoбавленo в 12.04:
Pirr писал(а):
я тут уже собаку на нем съел

Если бы съел, то вопросов, какие умудрился задать, не задавал бы
------------ Дoбавленo в 12.10:
Pirr писал(а):
у компонента есть ограничение по памяти

У системы есть, а не у компонента. 100 меговые базы, ни один умный человек в память не грузит.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#44: 2009-06-24 12:36:54 ЛС | профиль | цитата
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
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#45: 2009-06-24 12:43:54 ЛС | профиль | цитата
Tad, вопрос -- как прочитать 12 строк, не используя LIMIT (в стандарте его нет, проверено -- фиг вам, называется) и не имея ID поля
------------ Дoбавленo в 12.44:
Tad писал(а):
а на просторах интернета можно еще и не в такое вступить

Не только вступить, но и утонуть
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)