Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Нужно ОГРОМНУЮ таблицу в бд сравнить с ОГРОМНОЙ внешней таблицей (вернее малую долю полей). Как это лучше сделать:
1. выбрать во временную таблицу (заблокируется tempdb?)
2. сделать постоянную таблицу и каждый раз ее чистить (Insert into или bulk - строки нужны для анализа все, колонки-не все)
3. сделать другую базу (какая она должна быть автономная?) и там создавать постоянную или внешнюю таблицу - не получится ли двойной расход ресурсов?
Работа будет проводится на одной машине (доступ по терминалу и к MSSQL Server и к внешним таблицам).

Модератор: Тема перенесена из форума "Проектирование БД".


Сообщение было отредактировано: 5 ноя 15, 14:31
5 ноя 15, 14:13    [18373469]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Glory
Member

Откуда:
Сообщений: 104760
Лунтик
Нужно ОГРОМНУЮ таблицу в бд сравнить с ОГРОМНОЙ внешней таблицей (вернее малую долю полей). Как это лучше сделать:

Нет такой команды - сравнить.
Есть SELECT,INSERT,UPDATE,DELETE, MERGE

И что такое для вас "внешняя таблица" ?
5 ноя 15, 14:34    [18373660]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Лунтик, куда загружать - не имеет значения. Как позволяют ресурсы, так и делайте.
5 ноя 15, 14:39    [18373722]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Внешняя таблица - это таблица, которая будет получаться из файловой 1с.
Можно, к примеру создать промежуточную базу, туда запихать информацию из 1с и оттуда-то и обратиться к ОГРОМНОЙ таблице в SQL.
Суть вопроса, собственно в том, чтобы быстренько выбрать информацию и закрыть соединение.
Но одной таблицей не получается - надо где-то хранить промежуточную выборку.
Вот где ее хранить?
5 ноя 15, 15:03    [18373970]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Glory
Member

Откуда:
Сообщений: 104760
Лунтик
Внешняя таблица - это таблица, которая будет получаться из файловой 1с.
Можно, к примеру создать промежуточную базу, туда запихать информацию из 1с и оттуда-то и обратиться к

И как вы собрались обратиться к этой таблицы из MSSQL ?

Лунтик
Но одной таблицей не получается - надо где-то хранить промежуточную выборку.

Для чего ее хранить ?
5 ноя 15, 15:06    [18373992]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
Лунтик,

просто ради интереса, под "огромностью" сколько строк понимается? а то может "да просто ужас, а вовсе не УЖАСУЖАСУЖАС" (С) анекдот про публичный дом

хранить - там где сравнение будет происходить. хотя задачу "сравнить таблицы" тоже можно по разному решать
5 ноя 15, 15:07    [18374000]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
StarikNavy, таблица около 10г - судить сложно, т.к. она внутри контейнера (прошлый год за аналогичный период на dbf файлах были такие цифры). Может, действительно это фигня для SQL? Правда это база на on-line (я имею в виду коротких и частые) транзациях, а тут - отчет...
5 ноя 15, 15:13    [18374050]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Лунтик,

неважно где. Там, где позволяют ресурсы.
5 ноя 15, 15:13    [18374054]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Владислав Колосов, а как проверить, что они позволяют - может они мне позволяют, а все остальные в стопор встанут?
5 ноя 15, 15:15    [18374067]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Glory
Member

Откуда:
Сообщений: 104760
Лунтик
а как проверить, что они позволяют - может они мне позволяют, а все остальные в стопор встанут?

Практическим путем. Но поручить все это грамотному специалисту.
5 ноя 15, 15:17    [18374095]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Лунтик,

остальные могут встать в стопор при любом способе. Начните хотя бы с оценки размера данных и места в базах.
5 ноя 15, 15:24    [18374163]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Glory, хранить может и не нужно, но фиксация нужно, т.к. по этой выборке будут строиться еще выборки (причем адо уже не поможет, т.к. там RecordSet). Внешняя таблица, наверное, будет переводится в формат SQL, хотя может есть вариант с переведением, скажем в строку,Excel?
5 ноя 15, 15:24    [18374165]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Glory
Member

Откуда:
Сообщений: 104760
Лунтик
хранить может и не нужно, но фиксация нужно, т.к. по этой выборке будут строиться еще выборки (причем адо уже не поможет, т.к. там RecordSet). Внешняя таблица, наверное, будет переводится в формат SQL, хотя может есть вариант с переведением, скажем в строку,Excel?

Вам бы грамотного специалиста нанять
5 ноя 15, 15:26    [18374184]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Glory, где бы его еще найти - 1сник скажет это не мое, SQLник скажет я не спец по 1с, а третий придет и молча будет на наших базах учиться. Смежные территории, обычно ничьи.

Я думаю я здесь правильно толкусь. Хотя бы опорные точки мне, нубу, подскажете.
5 ноя 15, 15:30    [18374239]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Glory
Member

Откуда:
Сообщений: 104760
Лунтик
Я думаю я здесь правильно толкусь.

Вы не похожи на грамотного специалиста для такой задачи
5 ноя 15, 15:32    [18374257]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Ну вот, приехали... а так хорошо все начиналось D
5 ноя 15, 15:35    [18374287]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
правильный проходящий.
Guest
Лунтик
Glory, где бы его еще найти - 1сник скажет это не мое, SQLник скажет я не спец по 1с, а третий придет и молча будет на наших базах учиться. Смежные территории, обычно ничьи.

Я думаю я здесь правильно толкусь. Хотя бы опорные точки мне, нубу, подскажете.
Для начала перестаньте рассказывать свои представления о данных и способы решения неизвестной задачи на неизвестных данных в неизвестном окружении и начните таки описывать сами данные и задачу, которую надо выполнить на этих данных. Сравнить таблицы - это не задача, это один из способов решения какой-то задачи. Какой? Можете даже использовать термины из 1с, некоторые из нас тут ею тоже балуются.
5 ноя 15, 15:37    [18374316]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
правильный проходящий., спасибо на добром слове.
Есть учетная система на си# с web интерфейсом. Ежеминутно формируются заказы из вне, которые потом разлетаются по нескольким 1с.
Была попытка слить все 1с в одну кучу - чтобы видеть полную картину - получается каша...
Поэтому принято решение сделать наоборот - из учетной системы сливать в 1с, а потом раскидать по филиалам.
Надо сравнивать журнал заказов (построчно), список номенклатуры (со всеми вариантами цен, поставщиков и контрагентов), ну и остатки. Это будет происходить 2-3 раза в день.
На время экспериментов SQL-базу для 1с не завели (по ряду причин), но это и не важно, пока не понятно можно ли забирать информацию безболезненно для всех.
Администраторы бунтуют - у нас и так мало места и много пользователей, у 1с-ники готовы работать только с 1с - уже год толкутся, специалисты со стороны предлагают бредятину...
Короче, что уж проще - добыть информацию и отдать ее 1с-никам. УФ...
5 ноя 15, 15:55    [18374434]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Glory
Member

Откуда:
Сообщений: 104760
Лунтик
Надо сравнивать журнал заказов (построчно), список номенклатуры (со всеми вариантами цен, поставщиков и контрагентов), ну и остатки. Это будет происходить 2-3 раза в день.

Вас спрашивают, какую задачу вы решаете.
А не как вы собрались ее решать - через сравнение или полное переписывание.
5 ноя 15, 16:01    [18374464]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
правильный проходящий.
Guest
Лунтик
Надо сравнивать журнал заказов (построчно), список номенклатуры (со всеми вариантами цен, поставщиков и контрагентов), ну и остатки.
Где, как и в каком виде они сейчас находятся?
Короче, что уж проще - добыть информацию и отдать ее 1с-никам. УФ...
Вы опять льёте много воды. Давайте пока остановимся на этапе "добыть".
5 ноя 15, 16:02    [18374468]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
Гм, сейчас все в MSSQLServer 2008 - самописная база с самописной C# оберткой, с самописной PHP поддержкой веба.
Речь идет о простом добывании - все-все-все берем и сравниваем с 1С. Анализировать надо историю в год, потому как долгосрочные заказы корректируются прям через веб.
Контролировать нужно остатки и работу менеджеров, те ВСЕ.
5 ноя 15, 16:12    [18374533]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Glory
Member

Откуда:
Сообщений: 104760
Лунтик
все-все-все берем и сравниваем с 1С

Вы неисправимы.
5 ноя 15, 16:15    [18374547]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
Это в базе SQL:
Лунтик
самописная база с самописной C# оберткой


А это где хранится?
Лунтик
все-все-все берем и сравниваем с 1С


если у вас 1с файловая, то разбирайтесь с 1с , тут вам SQL никак не поможет
5 ноя 15, 16:15    [18374549]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
правильный проходящий.
Guest
Лунтик
Гм, сейчас все в MSSQLServer 2008
Отлично.
- самописная база с самописной C# оберткой, с самописной PHP поддержкой веба.
Вот это опять вода.
Речь идет о простом добывании - все-все-все берем и сравниваем с 1С. Анализировать надо историю в год, потому как долгосрочные заказы корректируются прям через веб.
Контролировать нужно остатки и работу менеджеров, те ВСЕ.
А про 1с что-нить напишите или надо отгадать? Надеюсь, конфига какая-нить из типовых и на одной из последних платформ?
5 ноя 15, 16:18    [18374567]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать ОГРОМНУЮ выборку через АДО  [new]
Лунтик
Member

Откуда:
Сообщений: 97
правильный проходящий., ут10.3 нетронутая 8.3.6. Какая разница - это может быть вообще не 1с.
Как ДОБЫТЬ, чтобы не заблокировать остальных, и как СРАВНИТЬ, может в неродном для себя формате SQL сравнивает быстрее и при этом не журналирует и не блокирует.
Похоже это вечный вопрос.
Все-равно спасибо, что поговорили.
5 ноя 15, 16:30    [18374650]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить