SQLを高速化するJMP 13.2.1 では、JSL スクリプト「Open Database("DSN=mysql", sql)」は、MySQL ワークベンチまたは同じ PC 上の mysql コマンド ラインで同じ「select」SQL クエリを実行するよりもはるかに遅くなります。 DSN は、私の win10 PC にローカルにインストールされている MySQL ODBC ドライバー (mysql-connector-odbc-5.3.7-winx64.msi) を指します。 「select」が 100 万行のデータなど多くの行を返す場合、読み込み速度の違いは非常に顕著です。 JMP の次のリリースでは、このデータ接続と読み込み速度が改善されることを願っています。
データアクセスRe: SQL の高速化 - ステータスが「配信済み」に変更されました@フランツ私たちはこれを調査し、JMP の最新バージョンであるバージョン 17 でこれがどの程度うまく機能するかを評価しました。これはもう問題ではないようです。すぐにお返事できなかったことをお詫び申し上げます。しかし、この問題が JMP のより新しいバージョンで対処されることを願っています。そうでない場合はお知らせください。
Re: SQL の高速化 - ステータスが「確認済み」に変更されましたやあ@フランツ、 提案ありがとう! お客様のご要望を承知し、検討させていただきます。
Re: SQLを高速化するとして@pmrozを使用してヒントを与えましたOracle コール インターフェイス (OCI) ODBC の代わりに、この問題に対するより良い解決策があるかもしれません。データベースがそれをサポートしている場合 (私自身は OCI を使用したことがないのでコメントできません)、ODBC を使用するソフトウェア (SQL 経由でクエリされる特定のデータベース用) が存在することを強調したいと思います。と同じ状況下では JMP よりもはるかに高速に動作します (2018 年 3 月 5 日の私の投稿を参照)。到達このレベルは JMP にとって真の改善となるでしょう。 この呼び出しの古さを考慮すると (JMP13 から JMP15 までこの点で目立った改善は見られませんでしたが)、データベースから適度な数を超えるレコードをフェッチする必要がある場合、JMP/SQL の組み合わせはおそらく (回避できるのであれば) 採用すべき方法ではないという結論に個人的に達しました。
Re: SQLを高速化する@pmrozこれはJMPで実装できますか?私も、JMP で Oracle DB へのクエリを実行するには最大 20 分かかりますが、Excel を使用して同じクエリを実行するには約 20 秒しかかかりません。実際、私が JMP と Excel のパフォーマンスを比較したとき (過去 8 年間)、JMP は多くのExcelよりも遅いです。
助けていただければ幸いです。
Re: SQLを高速化するJSL Open Database() または Execute SQL() のパフォーマンスが向上すると嬉しいです。
Burleson による Oracle のヒントから、 http://www.dba-oracle.com/phys_odbc_slow.htm :
トラフィックが多いデータベースでは、ODBC を使用するとパフォーマンスの問題が発生する可能性があります。 ODBC 経由の接続は、データベースへのネイティブ API 呼び出しを使用するよりも効率が低いため、多くの Oracle アプリケーションではオーバーヘッドが増加します。 したがって、ODBC を Oracle Call Interface (OCI) などのネイティブ通信ツールに置き換えることをお勧めします。 。 ODBC は通常、時折のデータベース クエリには問題なく機能しますが、ほとんどの実稼働アプリケーションで永続的に使用するには遅すぎます。
Re: SQLを高速化するこれには大満足です.... 同じ SQL (JMP14) を使用する JSL Open Database() と Benthic Golden または SQL Developer のクエリを比較すると、Oracle との大きな違いが見つかりました。データソースの設定をいじることで、その違いを消すことができました。私の場合は「フェッチバッファサイズ」を増やしています。しかし、他のアプリケーションはそうであるため、JMP はこの点についてもっと賢明である、あるいはそうすべきであると思われることに完全に同意します。また、最近のケースでは、再びオフセットが発生する可能性があります。おそらく、この別の SQL では別の設定が必要ですが、Golden では問題ないようです...うーん。
Re: SQLを高速化するPI System データベース (OSIsoft、OSIsoft、 www.osisoft.com )。 この場合、 DSN は、Win7Pro ラップトップにローカルにインストールされた PI ODBC ドライバーを指します。 「Open Database」は、PI SQL Commander で同じ SQL クエリを実行するよりもはるかに遅い同じマシン上で。 これは、100,000 行を超えるデータにとっては大きな問題/ボトルネックです。この JMP の要望を強力にサポートします。