Home

技術系のメモと日々の雑感

Access から ODBC 経由で MySQL に接続

MySQL(5.0.27)上のデータをちょくちょく操作しなければならなくなって、Access2003 から ODBC 経由で接続してみたらあまりの遅さにびっくり。
mysql-connector-odbc-5.1.4使用
空のテーブルにレコードを5件登録するだけでなんと15秒・・・。
サーバ上で mysql コマンドを使って insert したら一瞬なんだけどなぁ。
何より不思議なのは、「テーブルのリンク」をしてるだけなのでクライアント側はデータを持っていないはずなのに、1つのカラムの値を変更しただけでも激しくディスクにアクセスすること。
データはすべてサーバ側にあるんだし、もしクライアント側に一時的なデータを持つとしてもメモリ上に置いておけばいいはず。
このクライアントは結構メモリを積んでるんだけどなぁ。
あれこれ調べてみて、MySQL Connector/ODBC のヘルプの「Connector/ODBC Configuration Parameter」のいちばん下に Access で効果があるというオプションを発見。

・Don't Optimize Column Width
・Return Matching Rows
・Enable Dynamic Cursor

で、この3つを有効にしてみようと思って Details を見ると表記がかなり違っていて、「Don't Optimize Column Width」はそれらしいのが見付からなかった。
とりあえず次の2つのオプション

・Return matched rows instead of affected rows
・Enable dynamic cursors

をそれぞれを有効にしたり無効にしたりしてみたけど、まったく変化なし。
あと、試しに

・Read options from my.cnf

も有効にしてみたけど変わらなかった。
こういうもんだとあきらめるしかないのかなぁ。

この記事に対するトラックバック

この記事のトラックバックURL

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/09(月) 14:15:16

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/08(日) 19:23:51

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/06(金) 02:12:10

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/29(金) 17:52:18

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/07(木) 02:11:33

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 19:58:38

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 10:45:12

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/05(火) 11:53:42

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/02(土) 22:28:05

-

管理人の承認後に表示されます

  • From: |
  • 2013/08/24(土) 12:54:35

-

管理人の承認後に表示されます

  • From: |
  • 2013/07/13(土) 21:31:02

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する