C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ORACLEで複数項目の前方一致検索


(過去ログ 102 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■60783 / inTopicNo.1)  ORACLEで複数項目の前方一致検索
  
□投稿者/ KS (3回)-(2011/07/19(Tue) 08:53:21)

分類:[データベース全般] 

2011/07/19(Tue) 12:53:01 編集(投稿者)
2011/07/19(Tue) 09:48:56 編集(投稿者)
2011/07/19(Tue) 08:54:28 編集(投稿者)

WinXP,VS2005(C#),Oracle10g,SI Object Browser11 で開発しています。

お世話になります

画面には名前、フリガナのいづれかを入力し前方一致検索する機能があり
これをODP.NETで行うと全表走査しているような反応(数十秒くらい)となります。
しかし、Object Browserで同じSQLを発行した場合は1秒かかりません。

この現象を回避できたかた解決方法を教えていただけないでしょうか

M_NAMEテーブルのNAME,KANA_NAMEはインデックスになっています。

<ODP.NET CommandText内容>

SELECT
COUNT(NAME)
FROM
M_NAME
WHERE
(
(NAME LIKE :IN_NAME ESCAPE '$')
OR
(:IN_NAME IS NULL)
)
AND
(
(KANA_NAME LIKE :IN_KANA_NAME ESCAPE '$')
OR
(:IN_KANA_NAME IS NULL)
)

<Object Browser でのSQL>

SELECT
COUNT(NAME)
FROM
M_NAME
WHERE
(
(NAME LIKE :'石%' ESCAPE '$')
OR
('石%' IS NULL)
)
AND
(
(KANA_NAME LIKE :'' ESCAPE '$')
OR
('' IS NULL)
)

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -