- 91 名前:0 ◆SeZffd6X/Q mailto:sage [2012/12/27(木) 03:33:54.67 ]
- 後半2行「その1つの「ロールバック機能」は、たとえば、」はミスです。
>>74 その他、SQLの代表的な便利機能として「リレーションシップ」などもあります。 テキスト型で行っているときに、管理のしやすさから、なるべく全てのデータを1ファイルにまとめて記録しようと考えます。 しかし1人のデータ=1行すべて収めるやり方だと 「キャラクター名(10byte)だけ取得」したいのに、まったく不必要なデータが後ろに100kbyte余計に取得してしまったりなど無駄が出てきます (いったん1行分まるまる変数に読み込み、その後「名前」だけ取得する場合) これを回避するには、今度はファイルを複数に分けて管理する事になります。 「ログイン情報.txt」「キャラクター情報.txt」「所持アイテム.txt」「装備品.txt」 しかしテキスト型の場合、基本的にファイル数が増えていくと管理が面倒になっていきます。 例えば「[Aプレイヤー]の[サブキャラクター]の[手の装備]の装備名」を取得したい場合に 1:「ログイン情報.txt」からユーザー識別IDを取得する 2:1で取得したIDを使い「キャラクター情報.txt」からサブキャラクターIDを得る 3:2で取得したIDを使い「装備品.txt」から手に装備されてるアイテムIDを得る 4:3で取得したIDを使い「所持アイテム.txt」から装備品名称を得る ※多少作り方に左右されます SQLの場合、上の処理はやはり1行で簡単に行えます。 これがリレーションシップです(リレーのバトンのようにIDを渡していくため) 他にも複数分かれているファイル(テーブルという)を1ファイルのように結合したり Aファイルの「IDだけ」、Bファイルの「死亡フラグ」だけと必要なファイルの必要な部分だけを結合し 新しいファイルCを作成したりとても便利です。 長くなりましたが、当時CPUが2.4GHzのペンティアム4マシンで、カーソルまわしで2時間かかっていた処理が SQLに変えることで2分で終わるようになったことが有ります。 基本的にデータ数が大きいものほど、テキスト型より管理が楽になります。 興味がわきましたらSQLの検討を考えてみてください。
|

|