我在分區表上創建了一個視圖。當我將分區列傳遞給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]'的輸出結果,那麼我們可以告訴更多.. –
請參閱上面更新了問題。 –