powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Динамический запрос: разные имена таблиц
43 сообщений из 43, показаны все 2 страниц
Динамический запрос: разные имена таблиц
    #32306306
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу найти лучший вариант для работы вот с какими запросами...

Для начала немного истории: Специфика базы такова, что ежедневно закачивается таблица (больше 600 000 записей) на базе которой потом формируется куча всяких отчетов (ну и просто ее изучают, фильтруют, сортируют и все такое).
Так вот, проблема в следующем: запросы сложные и хотелось бы их с оптимизировать (и по скорости и способу хранения и использованию). Идеальным вариантом я конечно вижу хранения запросов в виде постоянных скомпилированных/оптимизированных Queries в базе. Достоинства:
1. запрос уже с оптимизирован и работает быстрее
2. в сложных запросах, эти сохраненые запросы вызываются из других.

Недостатки:
1. Всего лишь один. Имя таблицы как параметр не передашь и потому если таблицы имеют разные название (но и при этом абсолют. одинаковую структуру), то нифига не сделаешь.

То бишь, вопрос. Как лучше хранить/использовать запросы, если меняется имя таблицы (а структура ее постоянна)?

Как варианты:
1. генерить строку SQL - это всем понятно, недостатки известны, вообщем именно от этого и хотелось бы уйти.
2. менять имя таблицы на время запуска запроса. Опасно и малоприемливо (скоко всяких нехороших глюков можно породить)

P.S. или может я зря так геммороюсь и есть какой-нибудь станд. способ передачи в запрос в качестве параметра имя таблицы?, а я тут фигней всякой страдаю...
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306314
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2. менять имя таблицы на время запуска запроса. Опасно и малоприемливо (скоко всяких нехороших глюков можно породить)

3. Вместо обращения к таблице использовать сохраненный запрос select * from Таблица. И править его. И таблицы целы, и запрос только один на каждую табличку надо править.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306333
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заведи одну вместо них всех. И нет проблем.
2 Вариант
Создай другую базюку со связанной табличкой, которая смотрит на твою. И у связанной таблички кодом меняй источник.

Если у тебя код и данные в одном месте, надо срочно делить. Это азбука.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306346
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<I>3. Вместо обращения к таблице использовать сохраненный запрос select * from Таблица. И править его. И таблицы целы, и запрос только один на каждую табличку надо править.</I>

Остро, позарубежному (с) "Две башни снесло"

А этот запрос соответственно править через DAO, типа dbs.QueryDefs("ля-ля").SQL="select * from " & ИмяТаблицы
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306358
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может, создать хранилище, и сбрасывать туда все, что надо для получения отчетов.
Кстати, интересно, что содержат эти таблички с одинаковой структурой? Почему их много?
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306362
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Shark: Одну не заведешь... :( Каждый день новая приходит, а пихать в одну тоже не вариант, потому как объем сильно растет, и притом старые так и так удаляют, а иногда надо наоборот именно старую из архива достать и с нее пару очетов сварганить.

Данные и код пока в одной ;-) этот опытный образец, будет результат, будет и сервак и все остальное... Думаете уже настала пора разделять... Если связанные таблицы, то это конечно надо разделить базу на две части и запускать у себя сразу и сервер с данными и клиент, только вот интересно как там со скоростью будет...
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306374
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь, что после таких финтов (с заменой SQL-инструкции) - скорость выполнения останется прежней (ну сэкономишь долю процента от общего времени выполнения, если не меньше - проверить легко) .
Остается только использовать агрегированные таблицы (сворачивать, например дни в недели (1 таблица), в месяцы - 2-я таблица , кварталы, годы) да и еще по разным уровням.

Такой аля самопальный олап городить в момент закачки данных. Увеличится время закачки -но зато ускорится время выборки.

==
А еще остается тема нормализации структуры бд
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306382
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varan: как я уже говорил, пузо треснет все в базу пихать, да и не надо это по большому счету. А объем.... это всего лишь баланс банка на конец рабочего дня... денюжжжжжки
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306392
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с Виктором.
Вряд ли по этой информации будут строится отчеты, отображающие просто данные таблицы, скорее всего что-то суммарное в разных разрезах.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306393
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeySV , баланс, насколько мне известно, это просто число, объем его невелик :-)
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306395
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>это всего лишь баланс банка на конец рабочего дня

Банк на Access'e???
А как называется? //надо деньги спасать
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306409
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Viktor,
он,наверное, сбрасывает данные в Access из какой-то другой системы.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306452
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Varan
>он,наверное, сбрасывает данные в Access из какой-то другой системы.

Пришел Ржевский и все опошлил :)

Да понятно, что на акесе банке работать не будет - я просто по прикалываться захотел. Банк и Акес, да еще и в режиме 24*7
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306543
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БИС то конечно на AS-400 пашет :)

Имеются виды полный список счетов по балансовым позициям и работать приходится именно с основной таблицей, агригированныъ будет стокоже скоко и запросов (ну ладно, чуть меньше), но в общем все равно, в основом от большой основной таблицы никуда не денешься.

А как вы смотрите на вариант со связанной таблицей? (сам никогда так не пробовал, как хоть по ощущениям, какие плюсы, минусы?)
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306555
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Viktor, так ты просто Access не уважаешь?
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306565
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Да понятно, что на акесе банке работать не будет "
Если тебе давно понятно, что Access - ненадежная система, чего ж ты с рядом товарищей тут нам насчет ADP голову морочите. Сказали бы прямо - Access - туфта и детская игрушка, и чем быстрее с него соскочишь, тем лучше...
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306566
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Varan
>так ты просто Access не уважаешь?

)))
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306579
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Если тебе давно понятно, что Access - ненадежная система, чего ж ты с рядом товарищей тут нам насчет ADP голову морочите.

Не путай божий дар с яичнецей.
Акес-adp - это не есть Акес-mdb.
Надежных систем не бывает и быть не может.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306591
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о Varan как завелся... :)

Access все-таки настольная база данных и до Банковских Информационных Систем ей далеко, у них задачи разные. Там мягко говоря маштабы разные и требования к надежности. Такие системы вообще НЕ для людей делаются, в отличии от Access... ;)
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306594
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Victor,
А что, SergeySV указал, adp или mdb он там в своем банке использует? Тебя просто от смеха разобрало, как ты узнал, что в банке пользуют Access, значит ты уверен в том, что Access - ненадежная система, и тот, кто использует ее для серьезных целей, достоин осмеяния. И при этом ты советуешь переходить на ADP! Не просматривается ли тут двуличность?
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306603
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 SergeySV
А обязательно использовать аксесс в качестве базы данных, при таких объемах и требованиях? Может лучше SQL?
Там можно не мучаться и сделать все на одной таблице.
Выборка по ключевому полю очень быстро работает.
Вот только операция добавления/удаления записей будет притормаживать.

2 Varan
Просто нет слов - убил наповал.
Поскольку я в числе тех товарищей, которые пропагандируют переход на ADP, скажу что глючность (или отсутствие таковой) аксеса при работе в режиме ADP, на надежность базы данных практически не влияет.
За четыре года моим юзерам так и не удалось ни разу завалить базу данных.

Персональная справка:
mdb - база данных аксесс
adp - база данных MS SQL
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306608
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Break, break по углам, иначе я щас позову судью... :)

Давайте не будем отходить от первоначальной темы. Все мы тут хорошо знаем что из себя представляет Access, и в чем ее прелести и недостатки, и раз мы тут обсуждаем проблемы и нюансы использования этой самой Access, то я вообще не понимаю зачем начинать выяснять отношения по поводу нее... :(
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306613
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Банк на Access'e???
А как называется? //надо деньги спасать" - вот что сказал Ваш уважаемый товарищ, не уточнив, что он имел в виду. Может он имел в виду MSSQL + оболочка ADP?
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306619
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И кому после этого верить? Я щас матом начну крыть, чтобы оправдать навешанное на меня сравнение.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306623
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2incold: переход на SQL запланирован, но пока токо в будущем, сначала она должна показать себе так сказать на месте.
(да и честно говоря даже на SQL я бы не рискнул туда пихать все в одну таблицу: 1день - 600 000, месяц - 15 мил., при том что 95 не пок ане нужны, а понадобиться например какой-нибудь позапозапрошлый месяц и то, ну не считая конечно сегодняшнего дня)
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306626
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Матом не надо, просто пошутили, и все поняли что это шутка...
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306640
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan
Может он имел в виду MSSQL + оболочка ADP?

Я не Виктор, но рискну сказать, нет - не это имел ввиду.
Т.к. в этом случае он бы сказал банк на SQL.
Пойми одну простую вещь:
есть база данных, а есть клиент (интерфейс) по работе с базой данных.
надежность системы на 99,9(9)% определяется базой данных.

В режиме mdb при сбое клиента есть риск побить базу данных.
В режиме adp максимум, что теряется - это незаконченная транзакция (если знаком такой термин).

2 SergeySV
Давай предположим, что ключевое поле в этой большой таблице - счетчик
Поле на SQL = int диапазон значений 0-2 147 *** ***
т.е. 2 млрд.
У меня сейчас работающий проект, с количеством записей в таблицах оперативного учета порядка 1 млн. (и это еще смешное количество для сиквела).
Для статистических редко используемых таблиц 15 млн. - просто ерунда.
Мой тебе совет - не парься, делай сразу на сиквеле.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306642
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж конечно, шутка. "Кто использует mdb - тот дурак и неотесанный мужлан. Кто использует SQL-сервер - тот правильный человек и переходя на этот продукт, сразу же решает все свои проблемы." Это рассуждение тут встречается довольно часто, и у меня складывается такое ощущение, что это не шутка, а политика.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306645
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну чтож, почувствовал ветер уверенности в своих крыльях и понеся на встречу новым свершениям
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306648
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А оболочка ADP не в Access пишется? Из фразы вашего коллеги можно сделать однозначный вывод - использование такого продукта как MS Access для серьезных целей смехотворно. Больше никакого вывода из его фразы сделать нельзя.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306649
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто использует mdb - тот дурак и неотесанный мужлан. Кто использует SQL-сервер - тот правильный человек

Каждый имеет право на свое мнение, тебя никто ничего не заставляет делать.
И потом, для разных задач есть разные средства разработки и т.п.

Если бы у меня была задача сделать простейший учет чего-либо вместо Excell - уж поверь делать это на Sql+ADP я бы не стал.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306651
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А оболочка ADP не в Access пишется? Из фразы вашего коллеги можно сделать однозначный вывод - использование такого продукта как MS Access для серьезных целей смехотворно. Больше никакого вывода из его фразы сделать нельзя.

Вот упрямый
Я например, такого вывода не делаю.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306722
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Varan
> А что, SergeySV указал, adp или mdb он там в своем банке использует?

Указал. Хотя и пришлось не много с телепатировать
хранения запросов в виде постоянных скомпилированных/оптимизированных Queries в базе Если кто-то скажет, что данный текст может относится к Adp...
Geo и Shark тоже стелепатировали :)

> Тебя просто от смеха разобрало, как ты узнал, что в банке пользуют Access

Не разабрало. Меня уже Акесом (и как его применяют) трудно расмешить

> значит ты уверен в том, что Access - ненадежная система

(хотя не понятно что ты вкладываешь в смысл "надежность")
Уверен. Только не Акес как таковой, а Jet aka mdb, при многопользовательской работе в сети. Как в плане не санкционированного доступа к инфе, так и к не понятным "поломкам" базы.

> и тот, кто использует ее для серьезных целей, достоин осмеяния

Тогда я первый достоин осмеяния :)
Ибо ничего серьезней финансовой корпоративной отчетности в моей фирме нет. Правда мне удалось уговорить рук-во на adp.

> И при этом ты советуешь переходить на ADP! Не просматривается ли тут двуличность?

Советую переходить и советую уяснить разницу между Акесом как клиентом бд к MS SQL серверу (Adp) и акесом как хранилещем данных (mdb).

> "Кто использует mdb - тот дурак и неотесанный мужлан. Кто использует SQL-сервер - тот правильный человек и переходя на этот продукт, сразу же решает все свои проблемы."...

Ты наверное не понял советов:
если человек делает телефонный справочник (например) для себя - то ему нафиг сиквел не нужен- а кто будет аткое советовать - то дурак, но если в этом справчнике хранятся телефоны любовниц первых лиц гос-ва и важна сохранность (попробуй объяснить, что телка приедет через сутки после того, как захотелось из-за того что база "не открывается" ) либо данный справочник используется в сети и надо разграничить доступ к информации - то сиквел будет правильным решением, хотя подобное можно и в Екцеле такое наваять скрывая-показывая листы в зависимости от чего-то там. Только сколько такая защита про держится?

> А оболочка ADP не в Access пишется?

А причем тут облочка и данные?
Насколько зависит моя безопасность в автомбиле от того, какой костюм я одену: черный или серый?
Правда, если я в этот костюм напихаю иголок, пару ножей под полы, полью себя бензином и буду курить в дороге .. тогда - да - зависит. И можно всем говорит: "Костюмы от фабрики "Большивичка" - это пи::дец полный - от них одни трамвы и ожоги"


Уфффф...припотел и обалдел
==
Надеюсь, SergeySV не сильно обидится столь большому оффтопику.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306726
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Viktor,
не надо было меня со Ржевским сравнивать :-)
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306732
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Про Ржевского - это, наверно, было отсюда. :^)
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306752
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan, incold

надежность системы на 99,9(9)% определяется базой данных.

Надежность системы определяется, в первую очередь, ее разработчиком - наличием у него головы на плечах, опыта, подготовки. А уж потом базами данных. Если ты знаешь, в каких случаях в Акцессе left join становится inner'ом, ты эти случаи будешь иметь в виду. Если ты не умеешь пользоваться pointer'ами в С++, то, несмотря на то, как его хвалят, ты ничего хорошего на нем не напишешь.

Вот, собсна...
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306816
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Cаныч
>Про Ржевского - это, наверно, было отсюда. :^)

Оттуда :)
А то что оттуда - из анекдота
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306821
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ,вы тут и нафлудили.Сейчас я вас всех помирю:
Oracle-Выбор настоящих мужчин!
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306824
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 (c)Vig

:)

Ну если по ценам сравнивать - то, да, Оракл это сила!
//а если и не по ценам - Оракл тоже бд. Как и Акес :)
==
Специально для плохо понимающих шутки сообщаю - это шутка (про оракл)
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306825
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor
Ну если по ценам сравнивать - то, да, Оракл это сила!
!!!
Оракл тоже бд. Как и Акес
!!!!!
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306875
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Думаете уже настала пора разделять..
Разделять надо СРАЗУ. Это азбука. В одном файле держать приложение и данные- ЭТО ЧУШЬ. Никто так не работает.
Особенно важно это разделение на этапе разработки приложения. Вы можете каждый день приносить новые формочки на дискете.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32306879
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Shark: Одну не заведешь...
Я бы на вашем месте сделал одну таблицу. Работать с ней гораздо удобнее и нет никаких проблем удалить-загрузить-выгрузить из нее данные.
...
Рейтинг: 0 / 0
Динамический запрос: разные имена таблиц
    #32307353
Michael Vasilev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to SergeySV:
Если не трудно, объясни, плиз, а как форируются разные имена таблиц? В смысле не кусок кода, а сам процесс (алгоритм).
...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Динамический запрос: разные имена таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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