質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

3回答

1429閲覧

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

tokmei

総合スコア17

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2019/04/03 02:22

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

<質問の内容に関しまして>
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関連
` 特に調査の必要はないと考えております

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FKM

2019/04/03 03:15

Windows10で32ビット、メモリ4GBなんでパワー不足なんじゃないでしょうか。
tokmei

2019/04/03 03:31

ご回答ありがとうございます。 おっしゃる通り、速度を早くすることを考えれば、OSのビット数を64にあげ、メモリを積めば早くなる可能性もあると思います。 ありがとうございます。 環境を改めることができれば試しに実施してみたいと思います。 しかし、本番機も同様に32bitで4Gのメモリを積んでおりますので、上記で改善できたとしても少し腑に落ちない部分がございます。 また、今回の原因が特定できないことと、環境の再構築にかかる導入コストを考えるともう少し調査を継続したいと思います。 ご回答、本当にありがとうございました。
FKM

2019/04/03 04:29 編集

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

2019/04/03 04:32 編集

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

2019/04/03 05:01

FKM様 OSにより、そのような違いがあったとは存じ上げませんでした。 ありがとうございます。 ご指摘いただきました。 OSのバージョンとメモリの要件を満たすPCにて再度実行をさせていただきました。 スペックはWindows 64bitのメモリ8GのノートPCで実行しました。 体感で恐縮なのですが、速度は以前の代機と変わらずでした。 非常に参考になる回答をいただきありがとうございました。 追記:先ほどの回答で環境の再構築が難しいと記載したのですが、空きのノートPCをあさっていると先ほどの要件を満たすものがございましたので、さっそく実装に移らさせていただきました。 失礼いたしました。
guest

回答3

0

ベストアンサー

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

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

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

投稿2019/04/03 04:39

編集2019/04/03 07:18
sazi

総合スコア25184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tokmei

2019/04/03 05:22

sazi様 ご回答ありがとうございます。 恐縮ですが、その他の回答と合わせてこちらのコメントにてご返信させていただきます。 ストレージの性能に関しては「Orlofsky様」のご回答にも記載したとおり、性能の差はございました。 伝送速度に関しては調査が抜けておりましたので、再度調査いたします。 また、ネットワーク経路に関しては同じ経路で試験を行っております。 あまり詳しくないので、分からないのですが、タスクマネージャの「ネットワーク」よりACCESS動作時の伝送速度の比較をしたいと思います。 ご回答に記載いただいている中でもCPUの性能は関係しうるとおもいました。 OfficeとOSのバージョンは本番機に合わせることが難しく導入も提案し辛いため保留にしようと考えております。 大変参考になりました。 ありがとうございます。
tokmei

2019/04/03 06:04

sazi様 度々のご質問となり、大変恐縮なのですが、SQLに関して少し気になった部分がございましたので、質問をさせていただきたく存じます。 今回、質問に上げさせていただきましたシステムなのですが、1度にインサートするデータ量に差がございます。 本番機は、システムを1度実行する度に約500件 代機は、システムを1度実行する度に約1000件 のデータが追加されます。 また、SQLはバルクインサート等ではなく通常の以下のようなSQLを実行しております。 本番機なら以下のSQLが約500回実行されるような仕様になっているようです。    (例)INSERT INTO user(name) values('test1'); 上記のような場合、データの全体量によって1件当たりの実行時間に差が出ることはあるのでしょうか? プログラムの細かな流れなどが詳しく分からないため、おおまかな質問になり大変申し訳ございません。 何か情報等ございましたらご教授いただきたく存じます。 何卒、よろしくお願い申し上げます。
sazi

2019/04/04 00:07 編集

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

2019/04/04 01:16

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

0

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

投稿2019/04/03 05:10

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2019/04/03 03:52

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tokmei

2019/04/03 05:05

Orlofsky様 ご回答ありがとうございます。 ご指摘いただきました内容に関しまして、調査しましたところ、rpm値が異なっておりました。 具体的な数値を上げさせていただくと 本番機:7200rpm 代機 :5400rpm となっておりました。 その他、キャッシュ値などに関しましては、違いは内容でした。 一度、タワー型のPCの購入を検討してみたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問