|
Объединение нескольких БД
|
|||
---|---|---|---|
#18+
Добрый день! Нужно посчитать количество записей в 11 базах по определенному условию. В каждой БД порядка миллиона записей. Пробую делать это двумя способами: Способ 1. 1) запросом на объединение объединяю все 11 БД 2) запросом на группировку считаю количество записей Способ 2. 1) в запрос на объединение сразу вставляю запросы на группировку и считаю Проблема в том, что оба способа выполняются достаточно долго. Какой способ предпочтительней? Или лучше как-то по другому делать? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:17 |
|
Объединение нескольких БД
|
|||
---|---|---|---|
#18+
VistaSV30в 11 базах по определенному условию. В каждой БД порядка миллиона записей. у меня конечно никогда не было столько записей, но в одной задаче у меня были основные таблицы сохранены по годам(справочники с основной, текущей базой) когда мне требовались данные за несколько лет, то применяла такой вариант(компы тогда были весьма слабыми) - создавала пустую, новую базу - для каждого нужного года создавала запрос типа select ...... into r1995 in 'd:\temp\rab.mdb' from bd1995 where .... - получала 11 таблиц заведомо меньшего размера на нужную выборку или итог - затем сливала их через UNION ALL и подводила окончательный итог(при выборке только сортировку) select * from r1985 union all select from r1996 .... меня устраивал время выполнения ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 18:56 |
|
Объединение нескольких БД
|
|||
---|---|---|---|
#18+
Полностью согласен. Всё, что можно выполнить в каждой отдельной БД ЛОКАЛЬНО ДЛЯ НЕЁ - должно быть выполнено именно так. Результатом должна быть статическая таблица с результатами предрасчёта. А дальше - слияем и считаем оббщую статистику. И, как показывает опыт, импортировать частные таблицы, а потом обрабатывать их локальные копии, зачастую быстрее, чем использовать связанные таблицы во внешних БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 19:20 |
|
|
start [/forum/topic.php?fid=45&msg=39846016&tid=1610543]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 348ms |
total: | 497ms |
0 / 0 |