Я создал представление о секционированной таблице. Когда я передаю секционированный столбец в оператор SELECT представления, оптимизатор не переходит к этому конкретному разделу, если он проверен в инструкции EXPLAIN.MySQL - Доступ к разделам через представления
Есть ли способ сделать представление доступ к одному разделу его таблицы?
[Изменить]: Вот как я создал представление на двух секционированных таблиц
CREATE TABLE Partition1 (ID INT,NAME VARCHAR(100),DOB DATE)
PARTITION BY LIST (YEAR(DOB))
(
PARTITION P_2000 VALUES IN (2000),
PARTITION P_2001 VALUES IN (2001)
);
CREATE TABLE NOPART (ID INT,DOB DATE)
PARTITION BY LIST (YEAR(DOB))
(
PARTITION P_2000 VALUES IN (2000),
PARTITION P_2001 VALUES IN (2001)
);
CREATE OR REPLACE VIEW P_VIEW
AS
SELECT ID,DOB
FROM PARTITION1
UNION
SELECT ID,DOB
FROM NOPART;
EXPLAIN
SELECT * FROM P_VIEW
WHERE DOB = '2001-01-01';
Когда я запускаю «Объяснить» это показывает, оптимизатор собирается обоих разделов «p_2000» и «p_2001».
Покажите нам выходы 'show create table [partitioned table]' и 'show create view [your_view]', после чего мы можем подробнее рассказать .. –
См. обновленный вопрос выше. –