![]() |
![]() |
![]() |
|
Что выбрать "Внешние источники данных", COM, ADODB , XML или DBF | ☑ | ||
---|---|---|---|---|
0
gusden
23.02.12
✎
11:38
|
Всем доброе время суток.
Есть следую чая задача: Существует таблица 700 000 строк 10 полей и весит около 500 метров из этой таблицы периодически несколько раз в месяц пользователям надо вытаскивать данные. Поиск будет проходить по нескольким условиям поле содержит. Хочу посоветоваться как мне это реализовать. Пока склоняюсь к варианту положить её SQL и в конфигураторе создать "Внешние источники данных". Но думаю не быстрей ли будет напрямую обратиться к таблице на языке SQL??? Кто сталкивался с подобной задачей прошу высказаться. Может лучше будет положить в какой-нибудь другой формат и создать индексы? |
|||
1
pumbaEO
23.02.12
✎
11:45
|
SQL + индексы?
|
|||
2
pumbaEO
23.02.12
✎
11:53
|
Я со стороны теоретика: Внешние источники - пока только править конфу, если структура не меняется и отчет для вытаскивания данных меняется только после согласования с гениральным, то можно внешние источники, в другом случаи сделал бы внешней обработкой с ADODB, таблица на SQL сервере (не обязательно на MS).
|
|||
3
gusden
23.02.12
✎
11:57
|
(2) конфа не типовая, так что её можно править как душе будет угодно
цель выборка должна работать как можно быстрее. единственное что в саму конфу эту иныфу не хочется заливать чтоб не бекапилась |
|||
4
КМ155
23.02.12
✎
12:04
|
(0) хранить на сиквеле, юзать ADODB
|
|||
5
pumbaEO
23.02.12
✎
12:05
|
Если отбор постоянен и индексы будут по вариантам отбора - то и dbf справиться, тем более не часто, тем более пока сиквел разгонится, а у тебя уже и запросы закончились.
|
|||
6
gusden
23.02.12
✎
12:20
|
(5)Вот с индексами у меня наверно не получиться. Поиск может быть например по слову "реле"
и должно найти все записи где встречается это слово. Например с полем: ЭЛЕКТРОННЫЙ БЛОК УПРАВЛЕНИЯ, НЕПРОГРАММИРУЕМЫЙ, ОБОРУДОВАННЫЙ ПЕРЕКЛЮЧАТЕЛЯМИ, РЕЛЕ, ВЫКЛЮЧАТЕЛЯМИ,РАЗЪЕМАМИ НА НАПР. 24В, НЕ ЛОМ ЭЛЕКТРООБОРУДОВАНИЯ ,НЕ СРЕДСТВА ПОЖАРНОЙ АВТОМАТИКИ, ДЛЯ Л/А. Правда условие будет более сложное и записи нужно будет отсортировать по приоритету. В DBF я так понимаю это только через полный перебор всех записей придётся делать. |
|||
7
pumbaEO
23.02.12
✎
12:27
|
Кхм, полнотекстовый поиск тогда надо включать, тогда только SQL. Или может служебную базу?
|
|||
8
gusden
27.02.12
✎
10:59
|
Начал в общем грузить в SQL. Создал пустую базу в ней регистр сведений попытался загрузить туда пару записей. В результате выдала мне такую ошибку:
Microsoft OLE DB Provider for SQL Server: Operation failed. The index entry of length 1248 bytes for the index '_InfoRg7_ByDims_SSSSSSNSSN' exceeds the maximum length of 900 bytes. Эксперименты показали, что когда я пытаюсь в регистр сведений во все поля засунуть в сумме больше чем 441 символ вываливается данная ошибка. |
|||
9
gusden
27.02.12
✎
11:22
|
попробовал загрузить в справочник не ругается, причём попробовал забить туда больше 1000 символов всё сработало без ошибок, по видимому в регистре сведений создаются в SQLе какие-то индексы на измерения с ограничением 900 байт
|
|||
10
ДенисЧ
27.02.12
✎
11:24
|
(8) Это нормально. Тебе нужен не простой индекс, а полнотекстовый...
|
|||
11
gusden
27.02.12
✎
11:41
|
(10)Да действительно если я поставил в справочнике у реквизита "Индексировать", то вылетает та же ошибка. А я разве не обойдусь без "Индексировать"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |