-PR-
解決済み

date型のインデックス

  • 困ってます
  • 質問No.6346080
  • 閲覧数280
  • ありがとう数7
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 38% (89/231)

インデックスが貼ってあるdate型のカラムがあるのですが、うまくインデックスがあたりません。
検索条件を下記のようにしています。

working_date = TO_DATE('2010/11/26')

date型は秒数を保持していることが影響しているのでしょうか?
ファンクションインデックスを貼って、下記のようにすればインデックスは当たってます。

 TO_DATE(working_date,'YYYY/MM/DD') = '2010/11/26'

ご存知のかたがおられましたら教えてください。
通報する
  • 回答数6
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル10

ベストアンサー率 54% (76/140)

実際に working_date に格納されている値に時刻が含まれているのですか?

> TO_DATE(working_date,'YYYY/MM/DD') = '2010/11/26'

これは、文字列である working_date を date型に変換して、文字列と比較という奇妙なことになります。

本当に working_date が date型で、ファンクションインデックスを張るなら、
TRUNC(working_date) がよろしいかと。
お礼コメント
cosboki

お礼率 38% (89/231)

ご回答ありがとうございます。

>実際に working_date に格納されている値に時刻が含まれているのですか?

下記のような値がはいってます。

2010/11/26 14:58:35

やはり秒数が問題なのでしょうか?
投稿日時 - 2010-11-27 10:10:32

その他の回答 (全5件)

  • 回答No.1
レベル14

ベストアンサー率 24% (755/3136)

working_date = TO_DATE('2010/11/26','YYYY/MM/DD')
としたらどうでしょう。
時分秒があるので、DB中の項目は時分秒はどのような値になっているのでしょうか?
お礼コメント
cosboki

お礼率 38% (89/231)

ご回答ありがとうございます。

>DB中の項目は時分秒はどのような値になっているのでしょうか?

下記のような値がはいっております。

2010/11/26 14:58:35

やはり秒数まで正確に当てにいかないとインデックスは効かないものでしょうか?
投稿日時 - 2010-11-27 10:13:35


  • 回答No.3
レベル10

ベストアンサー率 45% (49/107)

・「実行計画を表示すると、TABLE ACCESS FULLとなっている」
ということなのでしょうか?

・warking_dateへのインデックスは単独列へのインデックスですか?

上記がYESであれば、実行計画はINDEX RANGE SCANになってしかるべきだと思います。
時分秒は0:0:0を指定しているのと同じなので、指定が必要とは思われませんが、
いちおう以下も試してみますか。

working_date = TO_DATE('2010/11/26 00:00:00', 'YYYY/MM/DD HH24:MI:SS')
  • 回答No.4
レベル14

ベストアンサー率 24% (755/3136)

working_date
between
TO_DATE('2010/11/26 00:00:00','YYYY/MM/DD HH24:Mi:SS')
AND TO_DATE('2010/11/26 23:59:59','YYYY/MM/DD HH24:Mi:SS')
としてみては
  • 回答No.5
レベル14

ベストアンサー率 33% (1403/4213)

もし、ご質問が単に「Where条件が思い通りにならない」であれば

where to_char(working_date, 'yyyy/mm/dd') = '2010/11/26'

で良いのでは?


何百万レコードもあるようならファンクションインデックスを検討してみては?
  • 回答No.6
レベル10

ベストアンサー率 54% (76/140)

質問者さんはファンクションインデックスの意味を理解してないのでは...

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34986&forum=8

http://www.atmarkit.co.jp/fdb/rensai/oraobstacle03/oraobstacle03_1.html
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


抽選で合計100名様にプレゼント!

ピックアップ

ページ先頭へ