в базе данных есть много идентичных схем, cmp01
.. cmpa0
каждая схема имеет users
таблицу
первичный ключ таблицы users
каждой схемы имеет свойсобственный уникальный диапазон
, например, в cmp01.users
usr_id
находится между 0x01000000 and 0x01ffffffff
.
. Есть ли какой-нибудь способ определить VIEW global.users
, который является объединением каждоготаблиц cmp*.union
таким образом, чтобы при запросе по usr_id
оптимизатор направлялся бы к правильной схеме?
думал что-то вроде:
create view global.users as
select * from cmp01.users where usr_id between 0x01000000 and 0x01ffffffff
union all
select * from cmp02.users where usr_id between 0x02000000 and 0x02ffffffff
....
будет ли этоРабота?NO.EXPLAIN ANALYZE показывает все используемые схемы.
Есть ли подход, который может дать полезные советы оптимизатору?