前方一致が動的に変更される場合にINDEXは有効になりません。
いつもお世話になっております。
テーブル同士のLIKE検索(前方一致)を行った場合、
INDEXが有効になりません。
LIKE検索文字列を固定にした場合は、INDEXが有効
になります。
テーブル同士のLIKE(前方一致)でINDEXを
有効にする手段をご教授頂けないでしょうか。
以下、実行結果です。
(1)LIKE検索文字列が固定
----------------------------------------------------------------------------
EXPLAIN
SELECT * FROM wk_dss_data WHERE sys_id LIKE 'M004964%';
----------------------------------------------------------------------------
Index Scan using i_wk_dss_data_02 on wk_dss_data (cost=0.00..5.25 rows=1 width=311)
Index Cond: (((sys_id)::text >= 'M004964'::character varying) AND ((sys_id)::text < 'M004965'::character varying))
Filter: ((sys_id)::text ~~ 'M004964%'::text)
(2)テーブル同士のLIKE検索
----------------------------------------------------------------------------
EXPLAIN
SELECT wk_dss_data.comp_id, wk_dss_data.user_id FROM wk_dss_data, t_update
WHERE
wk_dss_data.sys_id LIKE t_update.sys_id||'%';
----------------------------------------------------------------------------
Nested Loop (cost=157.00..12505636.00 rows=2500000 width=20)
Join Filter: (("outer".sys_id)::text ~~ (("inner".sys_id)::text || '%'::text)
)
-> Seq Scan on wk_dss_data (cost=0.00..5479.00 rows=100000 width=31)
-> Materialize (cost=157.00..207.00 rows=5000 width=11)
-> Seq Scan on t_update (cost=0.00..157.00 rows=5000 width=11)
お礼
試すのが先になりそうなため質問は締切ります。 ・Bood Modeの変更で可能になる可能性(変更による影響未確認) https://jp.answers.acer.com/app/answers/detail/a_id/45294/~/usb ・こちらもUTFIで実行。 https://faq.nec-lavie.jp/qasearch/1007/app/servlet/relatedqa?QID=021977
補足
経過報告です。左側画像「Legacy CD-ROM」の下にある部分(AAA)を選択した状態でEnterを押すと、応じているらしい部分からの起動は可能でした。