DBテーブルの"共有N=なし"について
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
mf4306
投稿数: 73
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
皆さんこんにちわ。
DBテーブルのアクセス定義について助言をいただきたく。
「タスク環境」−「DBテーブル」で、オープンするテーブルのアクセスの共有に関して「N=なし」が設定できます。
共有「N=なし」とする場合、テーブルの排他ロック以外に何か機能ってあるのかを知りたいです。例えば読み書きの速度が向上するとか・・・。(単純なテストでは読み書き速度に違いは出ませんでしたが)
当方で稼動しているプログラムの多くが、使用者単位で作成する一時テーブルに対して「N=なし」が設定されています。ただ、使用者単位に作成されているテーブルですので、テーブルレベルでの排他ロックは実際不要なはずで、他に「N=なし」を使うメリットがあるのかと思いまして・・・。
すみません、教えて下さい。
DBテーブルのアクセス定義について助言をいただきたく。
「タスク環境」−「DBテーブル」で、オープンするテーブルのアクセスの共有に関して「N=なし」が設定できます。
共有「N=なし」とする場合、テーブルの排他ロック以外に何か機能ってあるのかを知りたいです。例えば読み書きの速度が向上するとか・・・。(単純なテストでは読み書き速度に違いは出ませんでしたが)
当方で稼動しているプログラムの多くが、使用者単位で作成する一時テーブルに対して「N=なし」が設定されています。ただ、使用者単位に作成されているテーブルですので、テーブルレベルでの排他ロックは実際不要なはずで、他に「N=なし」を使うメリットがあるのかと思いまして・・・。
すみません、教えて下さい。
投票数:0
平均点:0.00
kaminosono
投稿数: 44
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
こんにちは。
回答になればよいのですが...
当方で"共有N=なし"を利用するのはコード変更の時に利用しています。
たとえば商品コード変更をする場合、それに伴う売上データなど各データすべてを"共有N=なし"でロックして各クライアントが修正できないようにしてから実行するようにしています。
質問にある「使用者単位で作成する一時テーブル」であればどっちでも良いと思います。また、スピード等はファイルオープンの違いと思いますので変わらないと思います。
回答になればよいのですが...
当方で"共有N=なし"を利用するのはコード変更の時に利用しています。
たとえば商品コード変更をする場合、それに伴う売上データなど各データすべてを"共有N=なし"でロックして各クライアントが修正できないようにしてから実行するようにしています。
質問にある「使用者単位で作成する一時テーブル」であればどっちでも良いと思います。また、スピード等はファイルオープンの違いと思いますので変わらないと思います。
投票数:0
平均点:0.00
mf4306
投稿数: 73
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
kaminosono様、返信ありがとうございます。
"共有N=なし"になっているプログラムはdbMagicV4.3時代に作成したものが多く、その理由が分からずにいました。
現状、(プログラムの仕様要求さえ満たしていれば)どちらも違いがない、という事が分かりましたので、既存の"共有N=なし"はそのままにしておこうと思います。
"共有N=なし"になっているプログラムはdbMagicV4.3時代に作成したものが多く、その理由が分からずにいました。
現状、(プログラムの仕様要求さえ満たしていれば)どちらも違いがない、という事が分かりましたので、既存の"共有N=なし"はそのままにしておこうと思います。
投票数:0
平均点:0.00