私はパーティションテーブルでビューを作成しました。パーティション化された列をSELECTステートメントに渡すと、オプティマイザはEXPLAINステートメントでチェックされたときに特定のパーティションに移動しません。MySQL - ビューからのパーティションへのアクセス
ビューのアクセスをテーブルの単一パーティションにする方法はありますか?
は、[編集]:ここで私はそれがオプティマイザがパーティション「p_2000」と「p_2001」の両方に起こっている示し、「説明」を実行すると、私は2つのパーティション表
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';
上のビューを作成する方法です。
私たちに 'show create table [パーティションテーブル]'と 'show create view [your_view]'の出力を見せて、もっと詳しく教えてください。 –
上記の更新された質問。 –