[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 12/28 01:11 / Filesize : 35 KB / Number-of Response : 118
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Androidプログラミング質問スレ Part28



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の検討を考えてみてください。






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<35KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef