[vba]Accessソフト「GoodMorning for SQL」作成とテスト

今どきの企業なら必ず有るのがSQLサーバ。

御社SQLサーバの目覚めはどうですか!?

形部商事のSQLは目覚めがすごく悪いんです!
朝イチ、サーバ起動直後からの数分間が特に遅い!

システム屋さん曰く

朝イチはキャッシュが空っぽ!
SQLサーバへの問い合わせを何度かすれば
キャッシュがたまりスピードアップします。

この対策用にシステム屋さんが作ってくれたのが「GoodMoring.exe」
SQLサーバへランダム参照しキャッシュを貯めるプログラム。

実行すると受注取込みが少しスピードアップしたかな!?
売上入力は遅いまま・・・・

という事で、自分でMS-Accessプログラム「GoodMorning4SQL.accdb」を作ってみました。

そして今日、朝イチでテスト!

作ったAccessプログラムがこれ
20190321MS-Accessソフト「GoodMonring4SQL」作成とテスト


やってることは超シンプル

キャッシュに貯めておきたいデータに
SELECT * FROM WHERE すればいいんでしょ!

ODBC接続の「商品マスタ」「得意先マスタ」「受注テーブル」「売上テーブル」を開き
対象レコードをDebug.Printでイミディエントウィンドに意味なく書かせるだけ!
20190321MS-Accessソフト「GoodMonringSQL」作成とテスト

これでスピードアップするかな?

朝イチはSQLサーバの反応が悪く最初の2回はTimeoutエラー!!!
20190321MS-Accessソフト「GoodMonringSQL」作成とテスト


テスト内容:

  1. 現状把握:朝イチ、受注データ(5行分)を呼び出すのに1分超!(スゲー遅い)
  2. 実行:最初2回の実行はTimeoutエラー
  3. 実行:3回目で、4分後に正常終了。
  4. 効果確認:受注データ(8行分)を呼び出すと3秒。早い!

僕の「GoodMoring for SQL」効果あるみたい

余談ですが、「GoofMorning4SQL.accdb」のヒントになったのが、これ
ハンディーターミナルアプリ用「マスタデータbulk importファイル生成」プログラム。
20190321MS-Accessソフト「GoodMonringSQL」作成とテスト

Android「ハンディーターミナルアプリ」用
SQLマスターファイル生成は、とても複雑で煩雑!

SQLサーバへ接続

  1. 最新単品別売上データのBulk importファイルを生成
  2. 最新商品マスタのBulk importファイルを生成。
  3. 最新得意先マスタのBulk importファイルを生成。
  4. 全ファイルをmax500レコードで小分保存後、UTF-8 Encode。
  5. zipにしてFTP

max500レコードはSQLiteの仕様
全ファイル約800個が完成するのに15分くらいかかります

よく考えると、これ実行すれば、
必要データ、キャッシュに貯まるじゃん!

試しに朝イチ実行すると、SQLサーバがスピードアップ!
それからの数ヶ月、毎朝これを実行してます。

でも、各ステップ用にボタンがたくさんあり、全部のボタンを押すのが超面倒!

「GoofMorning4SQL.accdb」は、マスタファイル生成の仕組みを全部削除。
ワンボタンで、単純に4つのテーブルを参照するだけ!

明日から、これを使ってみよう
たくさん押してたボタンが1つで済む

後は、クライアントPC起動時に自動実行させる仕組みが欲しい。

Windows10に、スタートアップフォルダって残っているのかな?
accdbファイルってwindows「サービス」に登録出来たっけ?

最初の2、3度は必ずエラーになる。
指定時間ではなく起動後プラス1分・3分・5分・7分、間隔を開けて複数回の自動実行って設定出来るんだろうか?

コメントを残す

メールアドレスが公開されることはありません。