Figure 1.実行計画 DB2 v9.7.5
Figure 2.実行計画 DB2 v10.1.0
DB2 Express-C 9.7.5では、fn:starts-withを使用した場合、pureXML専用のインデックススキャンであるXISCANは使用されてなかったが、DB2 Express-C 10.1.0では使用されるようになった。前方検索するときに、XISCANが実行されることを強く望んでいたので、大変喜ばしいことである。理由は、当然インデックス索引を使用されないと、100万レコードみたいな大量のXML文書の検索のときに時間がとてもかかるからである。
Figure 3. SQL
SELECT * FROM OKULE.CLIENTS WHERE xmlexists( '$c//phone/*[fn:starts-with(.,"5" )]' passing OKULE.CLIENTS.CONTACT AS "c" )
©中條勝徳 and okulejp.com, 2012.