ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

SQLserver 殆ど入力されない項目

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2011-8-5 20:59 | 最終変更
nkmt  長老   投稿数: 1668
販売管理システムで
得意先マスタに登録されていないお客さんの名前を
売上伝票や見積書に入力する事はよく有ると思います。

その名前は殆どの場合入力しないのですが、
全伝票に格納する枠を持った場合、無駄に領域を食うのか、
あるいはデータが格納されない場合、余計な領域を食わないのか
ご存知の方がおられましたら教えて頂けないでしょうか。

具体的には得意先名を全角換算で20文字、
工事がらみなので現場名も全角20文字。
1伝票につき80バイト増といった所です。

私のユーザーの場合、データ件数が10年使っても
売上伝票で50万件〜100万件程度です。

100万件×80バイト=80MB

当初は領域の事や速度の事を考えて、売上伝票とは別に、
売上手打ち得意先名データなどと別枠にしようと考えましたが
プログラミングの手間や大した容量増でも無いと思うので
別枠化は止めようかなと考えました。


どなたかご意見お聞かせ頂けないでしょうか。
よろしくお願いします。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011-8-8 12:47
nobukoshi802  一人前   投稿数: 118
項目属性はcharでは無く、vharcharで指定すれば
使用桁数+1バイトで済みます。
例:varchar(256)なら、256バイト使用するでは無く
256バイト書き込み可能という意味です。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011-8-8 16:06
nkmt  長老   投稿数: 1668
nobukoshi802さん レス有難う御座います。

あるデータに得意先略称があり属性がA 20なんですが
試しにデータリポジトリのカラム特性 → SQL → タイプ の欄に
Varchar(40) と記載してみました。

Management Studioでそのテーブルの列を確認してみましたが
char(20) でした。

これは正しいのかうまくいっていないのか教えて
頂けませんでしょうか。

記憶形式が ZString になっています。



投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-8-8 17:33
nobukoshi802  一人前   投稿数: 118
たぶん、得意先テーブルが既に存在していたと思われます。
テーブル特性で、テーブル変更が'Yes'かつ、変更時に
テーブルを変更しますか?で、テーブル変更をしないかぎり
UniPaasからは、項目を変更しません。
Pervasiveの場合、UniPaasのテーブル定義=Pervasiveの定義でしたが
RDBの場合、Unipaasのテーブル定義≠RDBの定義です。
RDBがテーブル定義を管理しているので
UniPaasからは、それを参照すると考えた方が分かりやすいと
思います。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-8-8 17:57
nkmt  長老   投稿数: 1668
SQL Management Studioでテーブルを削除し、
Magic側で項目のタイプにvarchar(20)と記述。

Magicでデータを作った後、SQL Management Studioで
確認した所、charではなく varchar になりました。

Magic側で既存データのタイプを書き換えても
内部の記憶形式までは変えない場合もある訳なんですね。

どうも有難う御座いました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-8-9 14:16
Tanda  長老   投稿数: 2151
nkmt さん、こんにちは。

受け入れ可能な範疇での変更は無視されるようです。これは Btrieve の
ときも同じですね。

ちなみに、私は Management Studio 側ではほとんど設定は触りません。
すべての操作を Magic のゲートウェイを通して Magic 側から行っています。

トラブルを避けるには、これが一番ですよ。

タンダコンピュータ/丹田 昌信
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-8-9 16:56
nkmt  長老   投稿数: 1668
丹田さん こんにちは。

私もManagement Studioで
 タイプ 等の変更は行いません。

varchar を使う事で、容量的な事と、
データファイルを余計に作らないで済みそうだ
という事で良かったと思っています。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-8-9 17:41
Tanda  長老   投稿数: 2151
nkmt さん、こんにちは。

可変長のデータは、カラムが更新されたときにオーバーヘッドが大きいですよ。
サイズの再調整とディスクへの再配置に時間を食うからです。

固定長は何を行うにも、スピードが早いです。Btrieve がそれを実証しています。

タンダコンピュータ/丹田 昌信
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-8-9 19:37
nkmt  長老   投稿数: 1668
それもあるんだろうなと思っていましたが、やはりそうですか。
レス有難うございます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011-8-9 20:11
Tanda  長老   投稿数: 2151
nkmt さん、こんにちは。

カラムがテキストデータでしたら、可変長でも固定長でもサイズの違いは
ディスク単価の安い今の世では誤差の範囲だと思いますので、スピード
を取ったほうが無難だと思います。

それにしても、SQL データベースの中身の構造って、いったいどうなって
いるんでしょうね。(。_。)? どうして、インデックスのないデータもあんなに
高速に検索ができるんでしょう?まさに、「神の技」としか思えません。

作った人は偉大だと思います。m(_ _)m

タンダコンピュータ/丹田 昌信
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約