Oracle8を使ってるんですが、
例えばINDEXを英字名にするのと日本語名にするのとでは検索速度はかわってくるんでしょうか?
ネットやらマニュアルで探してみたのですが、探し方が悪いのか今いちよくわからないんです。
知っている方がいましたら是非教えてください。
できればその調べ方も教えてくれるとかなり助かります。
お願いします!!

このQ&Aに関連する最新のQ&A

A 回答 (1件)

INDEXを英数字名にするというのは、たとえば、「IDX_AAA」という名前を付けてINDEXを作るのと「インデックスAAA」との違いということでしょうか?


もしそうであるなら、基本的には変わらないと思っていいと思います。ただし厳密には、Oracleがインデックスを使うかどうかを判断するときに、System表領域のインデックス名の検索などを行うので、その際に日本語名を検索すると、どうしても名前が長くなる(格納バイト数が多くなる)傾向にあると思いますので、遅くなる可能性はあります。
また、データに日本語があると、日本語のコードがどうしても偏りがちになるため、Oracle標準のB-Treeインデックスが偏る傾向にはあると思います。そのために純粋に半角英数字を使うよりも遅くなる可能性もあります。

いずれにしても、日本語を使うことによる検索スピードはさほど大きくはないように私は思います。
それよりも、Oracleなどが日本語に対応していない部分が残っていないか、無理やり日本語化するために、内部コードに無理が生じていないかの方が気になりますので、半角英数字で名前を付けることをお勧めします。
    • good
    • 0
この回答へのお礼

ありがとうございました。
勉強になりました!
半角英数字の方向で検討します。

お礼日時:2002/03/07 11:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

QOracleのindex作成のポイントに付いての質問。

こんにちは。
Oracleのindex作成のポイントに付いて質問させて頂きます。

テーブルAに対して、インデックスAと言う名称のINDEXを作成するとします。

テーブルAの項目はP1,A1,A2,A3,A4と言う5ケの項目より成り立ちます。
(P1はテーブル作成時のプライマリーキーです。)

今、プログラム1・プログラム2・プログラム3からテーブルAのデータを利用していますが、速度が遅くそのためインデックスAを作成して改善するところです。

プログラム1では、A1,A2,A3をキーとしてデータを読み込んでいます。プログラム2ではA1とA4、プログラム3ではA1をキーとして読みこんでいます。
優先順位は、プログラム1が第1優先、プログラム2が第2優先、プログラム3が第3優先です。

システムに負荷を掛けたくないと言う理由からインデックスは1ケのみ作成するとします。
キー項目としては、どれを選定するべきでしょうか?

1)A1
2)A1,A2,A3
3)A1,A2,A3,A4

1)は汎用性があるように思えますが?
2)でプログラム1を優先させて、同時にプログラム2・3にもこのINDEXは適用されるのでしょうか?
それとも、全てを網羅した3)を使うべき?

ご経験者の方宜しくお願い致します。

こんにちは。
Oracleのindex作成のポイントに付いて質問させて頂きます。

テーブルAに対して、インデックスAと言う名称のINDEXを作成するとします。

テーブルAの項目はP1,A1,A2,A3,A4と言う5ケの項目より成り立ちます。
(P1はテーブル作成時のプライマリーキーです。)

今、プログラム1・プログラム2・プログラム3からテーブルAのデータを利用していますが、速度が遅くそのためインデックスAを作成して改善するところです。

プログラム1では、A1,A2,A3をキーとし...続きを読む

Aベストアンサー

>インデックスを張るとそれぞれ早くなるような感じがしてどうも感覚的にしっくり来てない状態ですが・・・。

 だから、実行計画を取得してください。SQL*PLUSで、SET AUTOTRACE ON。または、サンプルの件数が十分(最低でも千件)にあるなら、SET TIMING ONで、実行にかかった時間が表示されます。どちらもSQL*PLUSで使えます。


 インデックスの使用方法については、Oracle9iR2のマニュアルを見ているので、他のバージョンでは違う可能性があります。

Qシステム構築やらデータベースやらは一体何をするの?

色々なところでネットショップ開設のためのシステム構築の見積もりを取っているのですが、
やれ300万だ、やれ500万だという見積もりばかりが届きます。

一体システム構築というのは
なにがどうしてそんなに金額がかかるものなんでしょうか?
また、どういう流れで構築していくものなんでしょうか?
1ヶ月~2ヶ月納期で数百万と言われると、どう納得して良いのかわかりません。

詳しく載っているページなどをご紹介ください。
またもしくは、ご説明頂ければ幸いです。
どうぞよろしくお願い致します。

Aベストアンサー

>なにがどうしてそんなに金額がかかるものなんでしょうか?
人件費+使用するソフト代+技術料(その会社が持っているノウハウの提供料+利益)が必要なので高くなると思います。
例えば月70万給料を払うエンジニアがいれば1ヶ月拘束で開発すれば70万では利益が出ない。システムに使うソフト代が10万かかれば80万でも儲からない。
技術の提供料を一案件に対し30万取っている会社ならさらに利益を乗せればすぐ100万は超えてしまう。エンジニアが二人になればさらに人件費分を加算してまた高くなる。
みたいな感じで高くなっていってしまうと思います。

QOracle8とOracle8iについて

サーバーにOralce8(8.0.5 nt)とOracle8i(8.1.7nt)があり
Oracle8の方のプログラムを作りたいのですが
Oracle8iのpro*cしか持っていません
このような場合oracle8用のpro*cを購入しないとだめでしょうか?
(ライセンスとか・・・)

Oralce8に接続するクライアントは今のままのバージョン(oracle8)を使用したいのですがOracle8クライアントのプログラムを8i用のpro*c8.1.7で作成できますか?
(このときはやっぱりクライアントは8iじゃないとだめでしょうか?)

回答、よろしくお願いします

Aベストアンサー

下位互換は無いようですね。
pro*c8.1.7ではOracle8i用のプログラムになってしまうようです。

取り扱い店に相談されるのが確実だと思いますがいかがでしょうか。

QOracle:Oracleシーケンスとは?

Oracleシーケンスとは何者なのでしょうか?
なにやら番号のようなものですよねえ・・・たぶん
ということで以下について教えて下さい。

1.シーケンスとは何ですか?
2.Oracleシーケンスとは何ですか?
3.どのようにOracleシーケンスを取得するのですか?

以上、宜しくお願いいたします。

Aベストアンサー

「順序」のことを言います。
平たく言えば、Oracleが用意しているカウンターです。
一意に採番するコードを生成する際などに使用します。

CREATE SEQUENCE文で「順序(シーケンス)」を生成し、作成(CREATE)されたシーケンスオブジェクトから、新たな値を取り出すことが可能になります。

QOracle8iのデータをOracle8へ移行する方法

Oracle8iでエクスポートしたファイルをOracle8へインポートすると
「IMP-00010:有効なエクスポート・ファイルではありません。
ヘッダーは検証に失敗しました。」
と出て失敗してしまいます。
講習会のテキストを読んでみると、「この方法ではうまくできないこと
のあります」とだけ書いてあり、どうすればうまく行くのかが
わかりません。
元々下位バージョンへ移行するということで、「ムリなんじゃないかなぁ~」
と思ってやってみたらやっぱりダメでした。
何か良い方法はないのでしょうか・・?

Aベストアンサー

ORACLE8iのエクスポートファイルじゃないとダメなんですか?
8i環境のテーブルのレコードを8環境に移行したいというのであれば、Oracle8iではなく、Oracle8のexpを使用してエクスポートファイルを作り、Oracle8のimpでデータを8環境に入れてやればいいはずです。


このカテゴリの人気Q&Aランキング

おすすめ情報