ACCESSからMysqlへのインサートの速度に関して

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 267

tokmei

score 10

表題の件に関して相談をさせていただきたく存じます。

<質問の内容に関しまして>
AcessのVBAからMysqlへデータを追加しているプログラムがあり、実行の速度がPCによって大きく異なっております。
何が原因か調査をしているのですが原因が分からず、投稿させていただきました。

<背景>
現在、本番稼働しているACCESSが入っているパソコン(本番機)の保守が切れてしまったため、代わりのPC(代機)を準備しております。
しかし、本番機と代機とでデータの追加速度が体感で3倍程違っております。

<動作環境>
・本番(ACCESS)PC  【タワー型】  
.  OS                  : Windows7 32bit
.  CPU/クロック周波集 : Corei5-2320 / 3.0GHz
.  メモリ        : 4G(利用可能2.95G)

・代機(ACCESS)PC  【ノートPC】
.  OS                  : Windows10 32bit
.  CPU/クロック周波集 : Corei5-3230 / 2.6GHz
.  メモリ        : 4G(利用可能2.6G)

・DBサーバ
.  OS                  : WindowsServer2012R2
.  CPU/クロック周波集 : Celeron G1820 / 2.7GHz
.  メモリ        : 16G

※DBサーバーが1つしかないのは、もともとDBの代機も用意していたのですが、原因の切り分けのために
ACCESSの代機も本番機と同じDBへ接続するように変更しました。
サーバーは同じですが、スキーマ(データベース)は別の場所を参照しております

<調査内容>
・本番機と代機のリソースの使用量の調査
→どちらも、メモリ・CPU・ディスクに関して100%を超えるものはございませんでした。

・回線速度の調査
→同じ環境にしても、データのインサート速度は変わりませんでした。

・DBのステータス(主にinnodb_buffer_pool_sizeとinnodb_buffer_pool_instance)
→現在はDBサーバは同じ場所を参照しているので関係がないと思っています。

<今後の調査予定>
・本番機と代機関連
'  以前、ソフト毎に使用できるメモリ領域が決められている場合があるという話を聞いたこと
'  があったのでACCESSにも該当するのであれば、各PCのACCESSが使用しているメモリ領域
'  を調査しようと考えています。
' 
'  PCの稼働時間と速度に影響がないかを調査します。

・DB関連
`   特に調査の必要はないと考えております

以上が相談内容となります。
長文となり、申し訳ございません。
何卒、ご教授お願い致したく存じます。
よろしくお願いいたします。
 

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • FKM

    2019/04/03 13:29 編集

    Windows7とWindows10ではそもそもエンジンが違います。なので、Windows10はデフォルトで64bitとなっています。要は400cc用のエンジンで750ccのバイクを動かそうとしているようなもんです。

    キャンセル

  • sazi

    2019/04/03 13:31 編集

    ストレージの性能差は無いんでしょうか?
    ネットワークも関係あると思うんですが。

    キャンセル

  • tokmei

    2019/04/03 14:01

    FKM様
    OSにより、そのような違いがあったとは存じ上げませんでした。
    ありがとうございます。

    ご指摘いただきました。
    OSのバージョンとメモリの要件を満たすPCにて再度実行をさせていただきました。
    スペックはWindows 64bitのメモリ8GのノートPCで実行しました。
    体感で恐縮なのですが、速度は以前の代機と変わらずでした。

    非常に参考になる回答をいただきありがとうございました。

    追記:先ほどの回答で環境の再構築が難しいと記載したのですが、空きのノートPCをあさっていると先ほどの要件を満たすものがございましたので、さっそく実装に移らさせていただきました。
    失礼いたしました。

    キャンセル

回答 3

checkベストアンサー

+1

先ずはハードやネットワーク関係の差
CPU,メモリー、ストレージ、ネットワークの経路等を含めた伝送速度
次にOS及びソフトの差
OSバージョン、officeバージョン

OSやoffceのバージョン差異についてはそこまで性能差は出ないと思います。
若干OSのバージョンで伝送速度は変わるかもしれません。

モバイル用途のCPUなんで、その性能差が一番だと思いますけどね
PassMark Scoreの比較だと以下の様になります。
Core i5-2320:Core i5-3230M = 5766:3938 = 1:0.68

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/03 14:22

    sazi様

    ご回答ありがとうございます。
    恐縮ですが、その他の回答と合わせてこちらのコメントにてご返信させていただきます。

    ストレージの性能に関しては「Orlofsky様」のご回答にも記載したとおり、性能の差はございました。
    伝送速度に関しては調査が抜けておりましたので、再度調査いたします。

    また、ネットワーク経路に関しては同じ経路で試験を行っております。
    あまり詳しくないので、分からないのですが、タスクマネージャの「ネットワーク」よりACCESS動作時の伝送速度の比較をしたいと思います。

    ご回答に記載いただいている中でもCPUの性能は関係しうるとおもいました。


    OfficeとOSのバージョンは本番機に合わせることが難しく導入も提案し辛いため保留にしようと考えております。

    大変参考になりました。
    ありがとうございます。

    キャンセル

  • 2019/04/03 15:04

    sazi様

    度々のご質問となり、大変恐縮なのですが、SQLに関して少し気になった部分がございましたので、質問をさせていただきたく存じます。

    今回、質問に上げさせていただきましたシステムなのですが、1度にインサートするデータ量に差がございます。

    本番機は、システムを1度実行する度に約500件
    代機は、システムを1度実行する度に約1000件
    のデータが追加されます。

    また、SQLはバルクインサート等ではなく通常の以下のようなSQLを実行しております。
    本番機なら以下のSQLが約500回実行されるような仕様になっているようです。

       (例)INSERT INTO user(name) values('test1');

    上記のような場合、データの全体量によって1件当たりの実行時間に差が出ることはあるのでしょうか?

    プログラムの細かな流れなどが詳しく分からないため、おおまかな質問になり大変申し訳ございません。
    何か情報等ございましたらご教授いただきたく存じます。
    何卒、よろしくお願い申し上げます。

    キャンセル

  • 2019/04/03 16:21 編集

    commitを全体に対して行っているなら、データ量によってトランザクションバッファが不足してスワップなどが発生する可能性はありますけど、1000件以内の差なら影響はないものと思われます。

    キャンセル

  • 2019/04/04 10:16

    sazi様

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

    なるほど、でしたらデータ量が速度に影響している可能性は低そうですね。
    ありがとうございます。
    非常に参考になりました。

    キャンセル

0

ノートPCのディスクはタワー型に比べるとかなり遅いのでは?スペックを調べてみては?Win10でメモリが4GBでは少ないし。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/03 14:05

    Orlofsky様

    ご回答ありがとうございます。
    ご指摘いただきました内容に関しまして、調査しましたところ、rpm値が異なっておりました。
    具体的な数値を上げさせていただくと

    本番機:7200rpm
    代機 :5400rpm

    となっておりました。
    その他、キャッシュ値などに関しましては、違いは内容でした。
    一度、タワー型のPCの購入を検討してみたいと思います。
    ありがとうございました。

    キャンセル

0

情報が少ないので回答ではないです
記憶デバイスのスループットってこともありえそうですね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.22%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる