ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Bases";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

ORACLEデータベースへのクイックアクセス 似ている枝を探す


Yelchev   (2001-12-03 10:26) [0]

問題がありますBLOBフィールドを持つ100万件を超えるレコードのデータベースがあります。 Oracle Direct Acessコンポーネントを使用します。 読書には多くの時間がかかります。 時間によって表の読み取りを最適化する方法と、データベースへの高速アクセスのコンポーネントは何ですか。 たとえば、それぞれ25000Kのボリュームを持つ20レコードを選択するには、15 minが必要だと言います



Владислав   (2001-12-03 11:22) [1]

スタジオへのリクエストのテキスト。



petr_v_a   (2001-12-03 11:24) [2]

より高速なコンポーネントは、誰かがより高速である場合は存在しない可能性があります。 反疑問-25000レコードをクライアントにドラッグする理由 ユーザーはグリッド内の50-100レコードを受け入れなくなり、追加の「検索で見つかった」などの喜びが必要になります。 基本レベルでは、LOBストレージ設定について読んでください。100ページがあります



Yelchev   (2001-12-03 12:22) [3]

ユーザーはまったく点灯せず、レコードから次の1つが選択されます。その後、massiv配列は数学的計算を経て、比較の最後に小さなリストが表示されます。 グリッドは使用されません。 誰かが私にそのようなデータベースの迅速な作業の問題を​​解決する方法を一般的に教えてもらえますか。 結局のところ、一般に1000000レコードのボリュームでは、読み取りプロセスに半日かかります。 私は答えたすべての人に非常に感謝します)



Yuvich   (2001-12-03 12:44) [4]

ああ、つまり、サンプルが15min持続しないことを意味します。しかし、ブロブの処理は15min持続します。 ここで確認する必要があるのは、ブロブに保存されているもの-構造化された情報かどうかです。 構造化されている場合、テーブルに配置し、サンプリング段階ではなく、テーブルへの書き込み段階で処理を行う必要があります。 構造化されていない場合でも、構造の形で情報を提示しようとします。 ある数学者が言ったように、「階層構造として表せないような主題領域はありません。」



Yelchev   (2001-12-03 12:50) [5]

はい、そうではありません。 処理を行わずに、単純にデータサンプリングで実験しました。 しかし、これらは処理された画像を記述する配列であり、分割できないという事実のため、データを構造化することはできません! 一般的に、特大のデータベースの使用に関連するこのような問題を解決するための何かをどこで読むことができますか



petr_v_a   (2001-12-03 13:33) [6]

これはもっと悪いです。 慎重に LOBストレージオプションについてお読みください:)。 v $ session_waitおよびv $ system_eventについては、実際に無駄になっている時間を確認してください。このようなBLOBボリュームを計算する場合は、外部プロシージャについて検討する必要があります。



Yelchev   (2001-12-03 13:55) [7]

そして、シェルに比較を埋め込むと、どれくらいの時間を得ることができますか(可能な場合、クライアントに情報をダウンロードしないでください。ただし、wobbsに格納された配列を比較するには、フーリエ変換とその他の算術演算+大量のメモリの割り当て(29Mまで)が必要です)



Mick   (2001-12-03 14:05) [8]

OraclがWintel上にある場合、ブロブの処理をサーバーに転送します。 これが通常の3リンクです。



Yelchev   (2001-12-03 14:11) [9]

「それは、通常の3リンク」ですか? あなたの理解不足をおIびしますが、これはどういう意味ですか?



petr_v_a   (2001-12-03 14:29) [10]

時間の増加を測定する最も簡単な方法は、書くことです
始まる
for cr in(<your request>)ループ
ヌル
終わり
終わり
そして、どのくらい行われているのかを見る それ



Yuvich   (2001-12-03 15:48) [11]

マイクは正しく言います-処理をサーバーに転送する必要があり、処理速度はクライアントの容量ではなくサーバーの容量に依存します。

OracleがWintelにない場合でも、PL / SQLプロシージャを記述し、外部から呼び出され、たとえばCまたはCobolで記述された別のプロシージャを呼び出すことができます。 もう1つのことは、Oracleが成り立ち、Oracle呼び出しをサポートするOSの言語を知る必要があるということです。 より正確にするには、ドキュメントを読む必要があります。



petr_v_a   (2001-12-03 16:29) [12]

「外部と呼ばれる」は、Delphiとアセンブラの両方で記述できます。主なことは、sysnalの呼び出し規約です。 Wintelに関しては-ドキュメントに豪華なフレーズがあります(私の翻訳)-「SolarisなどのDLLをサポートするすべてのプラットフォームで外部プロシージャがサポートされています」:))



Yuvich   (2001-12-03 17:12) [13]

Delphiで記述されたDLLはSolarisで使用できるとは思わないので、アセンブラーであっても、コンパイラがOSにある言語で記述する必要があります。

「スマートフレーズ」に関して、いくつかの追加事項:... DLLまたは動的にロードされる共有アクセスライブラリのサポート...たとえば、Solaris .soライブラリ。



Yuvich   (2001-12-03 17:15) [14]

同じドキュメントフレーズから:

そのため、一部のタスクは、機械精度の計算でより効率的なCなどの低レベル言語でより迅速または簡単に実行されます。 たとえば、 高速フーリエ変換(FFT) Cで書かれたルーチンは、PL / SQLで書かれたルーチンよりも高速に実行されます。



petr_v_a   (2001-12-03 17:53) [15]

> Yuvich :)それで、Solaris上のDelphiで書かれたDLLを使用するつもりはありませんでした:)要点は、呼び出しだけがあれば、何でも書けることです。 それ、もちろん開始する必要があります:)



Yuvich   (2001-12-03 18:02) [16]

> petr_v_a
個人的なものはありません。 おそらく私は何かを理解していませんでした。



ASV   (2001-12-04 03:11) [17]

そして、ここでの計算は非常に簡単です。 グリッド、あなたはおそらく10MBを持っていますか?
したがって、25000 *20К=500000Кは、600К/秒の平均ネットワーク帯域幅で、13,8分を与えます。
そして、計算をサーバーに転送する以外に何もすることはありません。

アレクサンダー・スヴィリデンコフ



ページ: 1 全枝

フォーラム: "Bases";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階









メモリ:0.61 MB
時間:0.051 c
7-22449
シュミ
2001-09-15 07:45
2002.01.08
Windowsのお気に入り


3-21988
アンドルー
2001-11-29 22:16
2002.01.08
SQL


7-22423
Alex_K_xelA
2001-09-21 18:55
2002.01.08
CD-ROMからセクタを読み取る


1-22011
Ksergey
2001-12-16 14:26
2002.01.08
Tabキーをキャッチする方法は?


1-22106
Andrey196
2001-12-19 18:24
2002.01.08
画像を印刷する方法についての質問は申し訳ありません





アフリカーンス語 アルバニア語 Arabic アルメニア語 アゼルバイジャン語 バスク ベラルーシ Bulgarian カタロニア語 中国語(簡体字) 中国語(繁体字) クロアチア チェコ語 デンマーク語 Dutch 英語 エストニア語 タガログ語 Finnish フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 Indonesian アイリッシュ イタリア語 日本語 Korean ラトビア語 リトアニア マケドニア語 Malay マルタ語 Norwegian
ペルシア語 ポリッシュ ポルトガル語 ルーマニア ロシア語 セルビア Slovak スロベニア語 スペイン語 スワヒリ語 Swedish Thai トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский