SQLserver 殆ど入力されない項目
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
販売管理システムで
得意先マスタに登録されていないお客さんの名前を
売上伝票や見積書に入力する事はよく有ると思います。
その名前は殆どの場合入力しないのですが、
全伝票に格納する枠を持った場合、無駄に領域を食うのか、
あるいはデータが格納されない場合、余計な領域を食わないのか
ご存知の方がおられましたら教えて頂けないでしょうか。
具体的には得意先名を全角換算で20文字、
工事がらみなので現場名も全角20文字。
1伝票につき80バイト増といった所です。
私のユーザーの場合、データ件数が10年使っても
売上伝票で50万件〜100万件程度です。
100万件×80バイト=80MB
当初は領域の事や速度の事を考えて、売上伝票とは別に、
売上手打ち得意先名データなどと別枠にしようと考えましたが
プログラミングの手間や大した容量増でも無いと思うので
別枠化は止めようかなと考えました。
どなたかご意見お聞かせ頂けないでしょうか。
よろしくお願いします。
得意先マスタに登録されていないお客さんの名前を
売上伝票や見積書に入力する事はよく有ると思います。
その名前は殆どの場合入力しないのですが、
全伝票に格納する枠を持った場合、無駄に領域を食うのか、
あるいはデータが格納されない場合、余計な領域を食わないのか
ご存知の方がおられましたら教えて頂けないでしょうか。
具体的には得意先名を全角換算で20文字、
工事がらみなので現場名も全角20文字。
1伝票につき80バイト増といった所です。
私のユーザーの場合、データ件数が10年使っても
売上伝票で50万件〜100万件程度です。
100万件×80バイト=80MB
当初は領域の事や速度の事を考えて、売上伝票とは別に、
売上手打ち得意先名データなどと別枠にしようと考えましたが
プログラミングの手間や大した容量増でも無いと思うので
別枠化は止めようかなと考えました。
どなたかご意見お聞かせ頂けないでしょうか。
よろしくお願いします。
投票数:1
平均点:10.00
nobukoshi802
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
項目属性はcharでは無く、vharcharで指定すれば
使用桁数+1バイトで済みます。
例:varchar(256)なら、256バイト使用するでは無く
256バイト書き込み可能という意味です。
使用桁数+1バイトで済みます。
例:varchar(256)なら、256バイト使用するでは無く
256バイト書き込み可能という意味です。
投票数:1
平均点:10.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nobukoshi802さん レス有難う御座います。
あるデータに得意先略称があり属性がA 20なんですが
試しにデータリポジトリのカラム特性 → SQL → タイプ の欄に
Varchar(40) と記載してみました。
Management Studioでそのテーブルの列を確認してみましたが
char(20) でした。
これは正しいのかうまくいっていないのか教えて
頂けませんでしょうか。
記憶形式が ZString になっています。
あるデータに得意先略称があり属性がA 20なんですが
試しにデータリポジトリのカラム特性 → SQL → タイプ の欄に
Varchar(40) と記載してみました。
Management Studioでそのテーブルの列を確認してみましたが
char(20) でした。
これは正しいのかうまくいっていないのか教えて
頂けませんでしょうか。
記憶形式が ZString になっています。
投票数:0
平均点:0.00
nobukoshi802
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
たぶん、得意先テーブルが既に存在していたと思われます。
テーブル特性で、テーブル変更が'Yes'かつ、変更時に
テーブルを変更しますか?で、テーブル変更をしないかぎり
UniPaasからは、項目を変更しません。
Pervasiveの場合、UniPaasのテーブル定義=Pervasiveの定義でしたが
RDBの場合、Unipaasのテーブル定義≠RDBの定義です。
RDBがテーブル定義を管理しているので
UniPaasからは、それを参照すると考えた方が分かりやすいと
思います。
テーブル特性で、テーブル変更が'Yes'かつ、変更時に
テーブルを変更しますか?で、テーブル変更をしないかぎり
UniPaasからは、項目を変更しません。
Pervasiveの場合、UniPaasのテーブル定義=Pervasiveの定義でしたが
RDBの場合、Unipaasのテーブル定義≠RDBの定義です。
RDBがテーブル定義を管理しているので
UniPaasからは、それを参照すると考えた方が分かりやすいと
思います。
投票数:1
平均点:10.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
SQL Management Studioでテーブルを削除し、
Magic側で項目のタイプにvarchar(20)と記述。
Magicでデータを作った後、SQL Management Studioで
確認した所、charではなく varchar になりました。
Magic側で既存データのタイプを書き換えても
内部の記憶形式までは変えない場合もある訳なんですね。
どうも有難う御座いました。
Magic側で項目のタイプにvarchar(20)と記述。
Magicでデータを作った後、SQL Management Studioで
確認した所、charではなく varchar になりました。
Magic側で既存データのタイプを書き換えても
内部の記憶形式までは変えない場合もある訳なんですね。
どうも有難う御座いました。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nkmt さん、こんにちは。
受け入れ可能な範疇での変更は無視されるようです。これは Btrieve の
ときも同じですね。
ちなみに、私は Management Studio 側ではほとんど設定は触りません。
すべての操作を Magic のゲートウェイを通して Magic 側から行っています。
トラブルを避けるには、これが一番ですよ。
タンダコンピュータ/丹田 昌信
受け入れ可能な範疇での変更は無視されるようです。これは Btrieve の
ときも同じですね。
ちなみに、私は Management Studio 側ではほとんど設定は触りません。
すべての操作を Magic のゲートウェイを通して Magic 側から行っています。
トラブルを避けるには、これが一番ですよ。
タンダコンピュータ/丹田 昌信
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
丹田さん こんにちは。
私もManagement Studioで
タイプ 等の変更は行いません。
varchar を使う事で、容量的な事と、
データファイルを余計に作らないで済みそうだ
という事で良かったと思っています。
私もManagement Studioで
タイプ 等の変更は行いません。
varchar を使う事で、容量的な事と、
データファイルを余計に作らないで済みそうだ
という事で良かったと思っています。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nkmt さん、こんにちは。
可変長のデータは、カラムが更新されたときにオーバーヘッドが大きいですよ。
サイズの再調整とディスクへの再配置に時間を食うからです。
固定長は何を行うにも、スピードが早いです。Btrieve がそれを実証しています。
タンダコンピュータ/丹田 昌信
可変長のデータは、カラムが更新されたときにオーバーヘッドが大きいですよ。
サイズの再調整とディスクへの再配置に時間を食うからです。
固定長は何を行うにも、スピードが早いです。Btrieve がそれを実証しています。
タンダコンピュータ/丹田 昌信
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
それもあるんだろうなと思っていましたが、やはりそうですか。
レス有難うございます。
レス有難うございます。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
nkmt さん、こんにちは。
カラムがテキストデータでしたら、可変長でも固定長でもサイズの違いは
ディスク単価の安い今の世では誤差の範囲だと思いますので、スピード
を取ったほうが無難だと思います。
それにしても、SQL データベースの中身の構造って、いったいどうなって
いるんでしょうね。(。_。)? どうして、インデックスのないデータもあんなに
高速に検索ができるんでしょう?まさに、「神の技」としか思えません。
作った人は偉大だと思います。m(_ _)m
タンダコンピュータ/丹田 昌信
カラムがテキストデータでしたら、可変長でも固定長でもサイズの違いは
ディスク単価の安い今の世では誤差の範囲だと思いますので、スピード
を取ったほうが無難だと思います。
それにしても、SQL データベースの中身の構造って、いったいどうなって
いるんでしょうね。(。_。)? どうして、インデックスのないデータもあんなに
高速に検索ができるんでしょう?まさに、「神の技」としか思えません。
作った人は偉大だと思います。m(_ _)m
タンダコンピュータ/丹田 昌信
投票数:0
平均点:0.00