
-
2014.10.14システム開発
シニアエンジニア
上松 博志
2021年8月1日「マリンロード」は「インソースマーケティングデザイン」へ社名を変更いたしました
データベースリンクとは その2
システムの上松です。
~前回の続き~
データベースリンクは便利な反面、遅くなることがある、ということは前回書いた通りです。
では、なぜ遅くなるのかというと、そこはかなり複雑です。
データベースリンクでは、DBサーバ上で定義した接続情報を基準に対象となるDBのスキーマを特定して接続しています。
以下、oracleにおけるデータベースリンクを介したSQLの実行ロジック(と想定されるもの)を記述します。
※公開されている実行ルールより推測になる部分が大半なので、実際のプログラムでは別の動きをしていると思ってください。
例)
自DB内テーブルとリンク先テーブルを結合したSQLを実行する。
1.自サーバ上にて、SQLが解析される。
2.自DBにて「テーブル名@データベースリンク情報」の「@以下」より、対象DBを探す。
3.DBリンク定義にて対象となるリンク先DBに接続。
4.リンク先DB内の結合対象テーブルのデータを自DB側で保持する。(?)
5.4で保持したデータを「リンクされたテーブル」とみなしてSQLを実行する。
6.結果を返却する。
おおよそ、こんな感じのことをSQL発行時にしています。
では、どこが遅い原因なのかというと、
データベースリンクを介したSQLを実行する場合、毎回コネクション(?)を張りに行くためではないかとも思われます。
上記の場合は特に雑多なスキーマの多いテスト環境などでよく発生するケースと思われます。
(本番だと遅くない!という場合はコレが原因な気がします)
データベースリンクは便利な機能ですが、ある程度のリスクも伴うものなので、
使う場合は用途に合っているか十分考慮して使うようにしてくださいね。
スタッフおすすめの記事
その他の記事
-
2022.5.16デザイン
Webデザイナー
岩瀬 莉奈
AdobeXDで出来る、更新しやすい表組みの作り方
-
2022.5.12Webプロモーション
Webコンサルタント/ディレクター
小山 恭平
【GA4・公式推奨の設定方法】GTMでの設置時のトリガーは「初期化トリガー」が望ましい
-
2022.5.11Webプロモーション
Webコンサルタント
塩月 茉里香
【2022年5月最新情報】GA4ディメンションに「ランディング ページ」登場
-
2022.5.9Webプロモーション
取締役
長澤 潤
GA4とサーチコンソールを連携する方法を4ステップでご紹介
-
2022.4.28その他
Webクリエイター
I.M
【初心者向け】Excelで「データの入力規則」と「条件付き書式」を利用してタスク管理表を作る
-
2022.4.25その他
Webクリエイター
矢口 奈果
【初心者向け】意外と知らない?ファンクションキーで業務効率化しよう!
-
2022.4.20システム開発
システムエンジニア
阿久津 勇太
Oracle12cのサポートが終了しましたね
-
2022.4.18HTML/CSS
Webクリエイター
中山 享祐
FireFoxで表示が崩れる場合の対処方法
-
2022.4.14管理部
管理部
大久保 美希
ITS旅行センターのホームページがリニューアル!
-
2022.4.11その他
代表取締役
大橋 俊昭
タイム・イズ・マネー