powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Открытие и фильтрация DBF файла
12 сообщений из 12, страница 1 из 1
Открытие и фильтрация DBF файла
    #38178907
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно отфильтровать DBF файл filename (1500000 записей ), данными из DataSet - nomer.

делаю так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
                
                       using (OleDbConnection connection = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source=E:\"))
                            {
                                OleDbCommand command = new OleDbCommand(@"SELECT * FROM '" + filename + "' WHERE NPSU='" + nomer + "'", connection);

                                connection.Open();
                                OleDbDataReader reader = command.ExecuteReader();

                                while (reader.Read())
                                {
                                 nom = (reader["NPD"].ToString());
                                nom1 = (reader["SLG"].ToString());
                                
                               }
                                reader.Close();
                            }



Основные тормоза здесь --> OleDbDataReader reader = command.ExecuteReader();

в итоге очень медленно
подскажите пути ускорения.
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38178935
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chumakov_JA,

индекса конечно нет, или он в формате, не поддерживаемом провайдером?
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38178938
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилChumakov_JA,

индекса конечно нет, или он в формате, не поддерживаемом провайдером?

ну в общем индексный файл есть
а как его можно тут использовать ?
я к такому виду подключения не привязан.
можно сменить тока на что?
но файл формата FoxPro 9.0
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38179305
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chumakov_JA !

Индекс тут не поможет, т.к. он может использоваться только в среде VFP (если конечно у тебя точно dbf-файл именно VFP)...
Может быть сначала перетащить эти записи на какой-нибудь сервер (MSSQL,Oracle,...) ну и там индексы... вот с него и будет тебе счастье...
Да и посмотри, сколько записей:
Код: c#
1.
@"SELECT COUNT(*) FROM '" + filename + "' WHERE NPSU='" + nomer + "'";


А то и тут их до и более может быть...
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38179335
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-бы ты не делал, а 1500000 записей dbf будут всегда долго. Их нужно "перетаскивать" на какой-нибудь SQL. Если эти записи интенсивно "ведутся" то по нормальному сделать ни чего нельзя, нужно менять то приложение которое их "ведет". Можно конечно слепить типа аля сервер, который будет "вертеться" на той же машине где лежат эти полтора млн записей и общаться с ним по TCPIP, но это бугага будет.
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38179347
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что делает OleDb-шный ExecuteReader() с dbf, он "затаскивает" в оперативку весь!!! файл dbf даже если запрос с WHERE.
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38180086
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortibransa,

Вариант с перетаскиванием на сервер SQL невозможен
мне его дают (dbf файл) раз в месяц и всегда новый.
файл точно FoxPro 9.0
просто хотелось как то ускорить процес открытия после условия.

а по поводу колличества записей их 1 548 000.
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38180158
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chumakov_JA,

размер записи?
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38180343
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилChumakov_JA,

размер записи?

а что вы подрозумеваите под словом размер ?

объем файла 596 мб в нем 51 сторбец
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38180390
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chumakov_JAа что вы подрозумеваите под словом размер ?
именно размер записи в байтах(в dbf они фиксированного размера),
понятно, около 400 байтов.
Chumakov_JAВариант с перетаскиванием на сервер SQL невозможен
мне его дают (dbf файл) раз в месяц и всегда новый.
И что с того? загрузить один в месяц раз в локальный SQL Express или что по вкусу, создать индекс и наступит счастье
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38180728
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chumakov_JAfortibransa,

Вариант с перетаскиванием на сервер SQL невозможен
мне его дают (dbf файл) раз в месяц и всегда новый.
файл точно FoxPro 9.0
просто хотелось как то ускорить процес открытия после условия.

а по поводу колличества записей их 1 548 000.Как раз прекрасный вариант, ну пусть час загружаешь, зато потом месяц счастья. Я работал с такой фигней, правда файл поменьше был, дык даже службу написал (файл давали на CD) скопировал его в нужный каталог на сервере, служба подхватила, закачала (причем ночью) и все бугага.
...
Рейтинг: 0 / 0
Открытие и фильтрация DBF файла
    #38180905
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chumakov_JA !!!
1.5 ляма записей... это не так уж и много...
У меня в проект грузятся более 5 лямов записей...каждый месяц...
Окончание загрузки mer2_01.dbf (записей: 1449044) Затрачено времени: 00:12:58
Окончание загрузки mer10_01.dbf (записей: 4885782) Затрачено времени: 00:40:27
И ничего...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Открытие и фильтрация DBF файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]