データベース板もあるが、あそこは過疎板だからこっちに立てました。
データベース関連のプログラミングならな〜んでもOK。
色んな話をしませまうる号。
探検
データベースプログラミング全般スレ
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
NGNG2005/08/11(木) 18:15:29
54デフォルトの名無しさん
2005/10/20(木) 10:25:13 RDMSの勉強を始めた高校生です。
テーブルの各行の一つのセルに、可変の数の配列要素を記述したいのですが、どうするのが一番自然なのでしょうか。
実行時に、各行のユニークなIDを元にそれぞれ別のテーブルを作ってもいいんですが、パフォーマンスが気になります。
もしくは "hoge1|hoge2|hoge3|..."というように何か区切り文字を入れて一つの文字列にしてもよい気もしますが、定石的な方法があれば教えていただきたいと思います。
よろしくお願いいたします。
テーブルの各行の一つのセルに、可変の数の配列要素を記述したいのですが、どうするのが一番自然なのでしょうか。
実行時に、各行のユニークなIDを元にそれぞれ別のテーブルを作ってもいいんですが、パフォーマンスが気になります。
もしくは "hoge1|hoge2|hoge3|..."というように何か区切り文字を入れて一つの文字列にしてもよい気もしますが、定石的な方法があれば教えていただきたいと思います。
よろしくお願いいたします。
2005/10/20(木) 10:26:52
2005/10/20(木) 10:37:21
a|{b,c,d}
という行を入れたいなら
a|b
a|c
a|d
という3行を入れる。それがRDB。
配列をサポートしたRDBMSを使うという手もあるが。
という行を入れたいなら
a|b
a|c
a|d
という3行を入れる。それがRDB。
配列をサポートしたRDBMSを使うという手もあるが。
57デフォルトの名無しさん
2005/10/20(木) 10:41:36 >>55
ありがとうございます。”正規化”という言葉を教えてもらって助かりました。
少し調べたところ、各行ごとに別表を作るのではなくて、全体で一つ、別に表を作ればいいわけですね。
データベースはツールとして使いたいだけだったので基本的なことも調べずにいたのが悪かったみたいです。
ありがとうございます。”正規化”という言葉を教えてもらって助かりました。
少し調べたところ、各行ごとに別表を作るのではなくて、全体で一つ、別に表を作ればいいわけですね。
データベースはツールとして使いたいだけだったので基本的なことも調べずにいたのが悪かったみたいです。
5854
2005/10/20(木) 10:42:44 >>56 第1正規形というやつですね。
59デフォルトの名無しさん
2005/10/20(木) 18:42:48 >>54
一冊、DBの本を読んでおくといい。
正規化の話は、おそらく1章か2章に書かれているはずだ。
最初は、ちょっととっつにくいが、特性をうまく生かせた時は楽しいぞ。
関係ないけど、O/Rマッピング楽しい。
一冊、DBの本を読んでおくといい。
正規化の話は、おそらく1章か2章に書かれているはずだ。
最初は、ちょっととっつにくいが、特性をうまく生かせた時は楽しいぞ。
関係ないけど、O/Rマッピング楽しい。
6054
2005/10/21(金) 06:38:21 >>59
作りたいWebアプリケーションがあって(えっと、まぁ、とってもしょぼいんですが)、背後でデータベースを使いたいと
思ってのことだったんですが、考えれば考えるほど、データベース構造の設計が一番重要だという気になってきました。
ユーザーインターフェイスや他の部分への設計にすごく影響があるという意味でですけど。
あと、データベースの構造って一旦データが入るとあとから変更できないんですね(?)。(僕はMSDEというフリーのDBを使っていますが
これって普通のことなんですよね?)個人的には、開発の試行錯誤の最中だけでもいいので、構造を自由に変えられるととっても
便利だと思うんですけども。
データベースってそれ自体で結構面白いですね。おっしゃるとおり、まずは一冊ぐらい簡単な本を読んでみようと思います。
、、、といってまた本来の目的からすれば横道にそれていく自分がいてもどかしいです。
作りたいWebアプリケーションがあって(えっと、まぁ、とってもしょぼいんですが)、背後でデータベースを使いたいと
思ってのことだったんですが、考えれば考えるほど、データベース構造の設計が一番重要だという気になってきました。
ユーザーインターフェイスや他の部分への設計にすごく影響があるという意味でですけど。
あと、データベースの構造って一旦データが入るとあとから変更できないんですね(?)。(僕はMSDEというフリーのDBを使っていますが
これって普通のことなんですよね?)個人的には、開発の試行錯誤の最中だけでもいいので、構造を自由に変えられるととっても
便利だと思うんですけども。
データベースってそれ自体で結構面白いですね。おっしゃるとおり、まずは一冊ぐらい簡単な本を読んでみようと思います。
、、、といってまた本来の目的からすれば横道にそれていく自分がいてもどかしいです。
6159
2005/10/21(金) 08:30:14 >>54
ヒント: ALTER TABLE
コンバーターの自作も大した事ない。
dump して DROP DATABASE してから戻すのも簡単。
あとは、これでも読んでおけ。
http://www.rfs.jp/sitebuilder/sql/
もっと詳しい事は本買って DB板でもみとけ。
ヒント: ALTER TABLE
コンバーターの自作も大した事ない。
dump して DROP DATABASE してから戻すのも簡単。
あとは、これでも読んでおけ。
http://www.rfs.jp/sitebuilder/sql/
もっと詳しい事は本買って DB板でもみとけ。
62デフォルトの名無しさん
2005/10/21(金) 16:47:15 >>28
超遅レス
DB使う理由
・途中でロールバックできる
・キーを間違えなきゃ複数のテーブルのデータがちゃんと更新される
・複数のプログラムから更新かけてもデータが壊れない
・作ったプログラムがこけてもデータが破壊されない
超遅レス
DB使う理由
・途中でロールバックできる
・キーを間違えなきゃ複数のテーブルのデータがちゃんと更新される
・複数のプログラムから更新かけてもデータが壊れない
・作ったプログラムがこけてもデータが破壊されない
6354
2005/10/25(火) 18:18:11 再びすみません。本を一冊買って読み進めていますが並行して質問させてください、、、。
テーブルにデータををINSERTするときに、プライマリーキーが自動で割り振られるようにしています。
(具体的にはマイクロソフトのWebMatrixでテーブルを作るときにプライマリーキーのIsIdentity属性をtrueにしました。)
このIDENTITYキーを再利用したいのですが可能でしょうか。
たとえば、DELETE句で"N"というIDを持っていた行を削除したとします。次の機会にINSERTでデータを追加する際に同じ"N"というキーを使うようにしたいのです。
テーブルにデータををINSERTするときに、プライマリーキーが自動で割り振られるようにしています。
(具体的にはマイクロソフトのWebMatrixでテーブルを作るときにプライマリーキーのIsIdentity属性をtrueにしました。)
このIDENTITYキーを再利用したいのですが可能でしょうか。
たとえば、DELETE句で"N"というIDを持っていた行を削除したとします。次の機会にINSERTでデータを追加する際に同じ"N"というキーを使うようにしたいのです。
2005/10/25(火) 18:25:36
無理、無駄、危険。
どうしてもやりたければ、「空いた番号」を覚えておくテーブルでも作れ。
どうしてもやりたければ、「空いた番号」を覚えておくテーブルでも作れ。
6554
2005/10/25(火) 18:46:07 >>64
「無理」なわけですね。。
最初はIDを自分で管理できないかとも思ったのですが、トランザクション(始めは考えてもいなかったのですが)のことなどを考え始めると大変そうだと思い、
だったらIDの管理はデータベースに任せておいて、単にIDを再利用できればいいと思ったのですけど。
「無理」なわけですね。。
最初はIDを自分で管理できないかとも思ったのですが、トランザクション(始めは考えてもいなかったのですが)のことなどを考え始めると大変そうだと思い、
だったらIDの管理はデータベースに任せておいて、単にIDを再利用できればいいと思ったのですけど。
2005/10/25(火) 20:17:54
2005/10/25(火) 20:32:39
・プログラム毎のファイル形式の違いを完全に吸収する
つうのは?。
DBを使う理由かぁ。それなりの本には必ず書いてあると思ったがなぁ。
使うのが当たり前過ぎて使う理由が見えにくいのかな。
使わないとどのような弊害が発生するかを想像するのが早道かも
つうのは?。
DBを使う理由かぁ。それなりの本には必ず書いてあると思ったがなぁ。
使うのが当たり前過ぎて使う理由が見えにくいのかな。
使わないとどのような弊害が発生するかを想像するのが早道かも
2005/10/25(火) 21:11:22
データベース触ったこと無くて、触るの怖いんだが、
途中で適当に項目や項目数増やしても、
プログラムほとんど替えずに動くの?
csvだとデータバージョン管理とか、構造変更した時の弊害とか、
データ拡張時の未フォローデータの扱いとか、
すげー拡張時の事で、頭いっぱいで破裂しそうなのだが…
途中で適当に項目や項目数増やしても、
プログラムほとんど替えずに動くの?
csvだとデータバージョン管理とか、構造変更した時の弊害とか、
データ拡張時の未フォローデータの扱いとか、
すげー拡張時の事で、頭いっぱいで破裂しそうなのだが…
2005/10/25(火) 22:03:19
最初にキッチリ設計するのがDB
2005/10/25(火) 22:08:57
2005/10/25(火) 22:09:47
7254
2005/10/25(火) 22:48:38 >>63
自己レスですが、IDENTITYを使うのはやめて、
SELECT MyID+1 FROM MyTable WHERE MyID+1 NOT IN (SELECT MyID FROM MyTable)
とかクエリしてみて返された値を使って自分でIDを管理するようにしてみました。(いいんでしょうか?)
自己レスですが、IDENTITYを使うのはやめて、
SELECT MyID+1 FROM MyTable WHERE MyID+1 NOT IN (SELECT MyID FROM MyTable)
とかクエリしてみて返された値を使って自分でIDを管理するようにしてみました。(いいんでしょうか?)
2005/10/25(火) 22:55:06
2005/10/26(水) 00:04:45
2005/10/26(水) 17:00:39
プライマリキーにUUID使うのはダメですか?
2005/10/27(木) 00:38:04
全テーブルでユニークにする意味があれば
2005/10/29(土) 23:57:07
今でも文字列のサイズって2進数が推奨?
2005/10/30(日) 13:48:04
79デフォルトの名無しさん
2005/11/04(金) 23:41:37 PostgreSQL始めたんですがどこから手をつけたもんやら困っています
なにかいい書籍ないですか?
まだPQsetdbLoginで接続してSQL投げて遊んでる段階です
なにかいい書籍ないですか?
まだPQsetdbLoginで接続してSQL投げて遊んでる段階です
2005/11/05(土) 07:22:19
目的がなければ何もしないでOK
81デフォルトの名無しさん
2005/11/06(日) 02:10:18 普通のPGと、SQLも含めたDB屋って違うからな。
SQLをDB毎に最適化できるPGがそもそもあんまりいない。
DBできますってPGに作らせると、毎回DBから結果拾ってくるようなの書くし。
Web+DBだと更にWebデザも絡んでぐだぐだになるかPGが必死こいてHTML修正しまくるかに成る。
なんかいいの無いの?
SQLをDB毎に最適化できるPGがそもそもあんまりいない。
DBできますってPGに作らせると、毎回DBから結果拾ってくるようなの書くし。
Web+DBだと更にWebデザも絡んでぐだぐだになるかPGが必死こいてHTML修正しまくるかに成る。
なんかいいの無いの?
2005/11/06(日) 02:15:27
でもPostgresのソース見た感じ、RDBって中身はキャッシュ制御の塊じゃないの?
2005/11/06(日) 02:58:23
勉強中の奴にいっとくが
主キーの定義は一つのカラムに。
内容はユニークなだけで意味の無いものにしておけよ。
参考書に書いてても伝票番号、明細番号とかの複合キーにしないように。
主キーの定義は一つのカラムに。
内容はユニークなだけで意味の無いものにしておけよ。
参考書に書いてても伝票番号、明細番号とかの複合キーにしないように。
2005/11/06(日) 08:12:04
教える側気取るなら理由も書けよ。
85デフォルトの名無しさん
2005/11/06(日) 11:13:572005/11/06(日) 11:23:25
勉強中の奴にいっとくが
主キーの定義は一つのカラムに。
内容はユニークなだけで意味の無いものにしておけよ。
参考書に書いてても伝票番号、明細番号とかの複合キーにしないように。
主キーの定義は一つのカラムに。
内容はユニークなだけで意味の無いものにしておけよ。
参考書に書いてても伝票番号、明細番号とかの複合キーにしないように。
87デフォルトの名無しさん
2005/11/06(日) 11:39:28 >>86
素人キター
素人キター
88仕様書無しさん
2005/11/06(日) 11:48:13 SQLなんて、DBを詳しく知らなくても素人が扱えるようにした簡易言語に過ぎない
だろ。それに、きょうびサーバーならGB超のメモリを搭載しているんだし、たかだか
数十万件くらいのデータベースなんて、オンメモリでやれよな。
だろ。それに、きょうびサーバーならGB超のメモリを搭載しているんだし、たかだか
数十万件くらいのデータベースなんて、オンメモリでやれよな。
2005/11/06(日) 12:09:14
で、サーバー落ちたらすっぱりデータはあきらめる。
そういう人生もいいかもな。(w
そういう人生もいいかもな。(w
90デフォルトの名無しさん
2005/11/06(日) 12:09:40 >>88
またまた素人キター
またまた素人キター
2005/11/06(日) 12:21:27
2005/11/06(日) 12:38:06
DBのオペレーティング画面は違えど、標準SQLは、DBによらないし、選択、抽出、作成、挿入の操作をCUIでやってるだけだし、
具体的に言うと、ACCESSのGUIでコピー、フィルタ、入力、ペーストやってるのと変わらない。
具体的に言うと、ACCESSのGUIでコピー、フィルタ、入力、ペーストやってるのと変わらない。
93デフォルトの名無しさん
2005/11/06(日) 12:48:432005/11/06(日) 12:51:16
全角英字キモい
95仕様書無しさん
2005/11/06(日) 13:01:50 SQL文 ≒ VBスクリプトの一部機能
96デフォルトの名無しさん
2005/11/06(日) 13:06:09 ちなみに
88=92=95
なわけだが。
キティちゃんに認定してあげます。
88=92=95
なわけだが。
キティちゃんに認定してあげます。
97仕様書無しさん
2005/11/06(日) 14:38:15 96 = データベースがないと、データ処理ができないと本気で思っている
プログラマ以下の半人前SE(自称コン猿)
プログラマ以下の半人前SE(自称コン猿)
2005/11/06(日) 14:39:49
名前いじってる時点でお察しください
2005/11/06(日) 16:12:41
>>95
今MSはそういうことを考えているらしいぞ
今MSはそういうことを考えているらしいぞ
100デフォルトの名無しさん
2005/11/06(日) 16:52:46 VBはもともとオラクルを扱うために生まれた言語ですよ
101デフォルトの名無しさん
2005/11/06(日) 17:16:21 ∧_∧ / ̄ ̄ ̄ ̄ ̄
(ω・ )ゝ < なんだって?
ノ/ / \_____
ノ ̄ゝ
(ω・ )ゝ < なんだって?
ノ/ / \_____
ノ ̄ゝ
102デフォルトの名無しさん
2005/11/06(日) 20:20:07 DBの最適化命令って普通はどう突っ込む?
新しいデータが入ったと同時に実行されるようにするの?
時間で?
新しいデータが入ったと同時に実行されるようにするの?
時間で?
103デフォルトの名無しさん
2005/11/06(日) 20:26:36104デフォルトの名無しさん
2005/11/06(日) 20:55:30 >>100
えっ???
えっ???
105デフォルトの名無しさん
2005/11/06(日) 21:55:05106デフォルトの名無しさん
2005/11/06(日) 22:06:40 プログラマとデータベース設計(実装じゃないぞ)者を同一視してはいけないよ
107デフォルトの名無しさん
2005/11/07(月) 00:18:54 データベース実装は素人でもいいです
でもトランザクションについてはしっかり身につけてほしいですね
あ、トランザクションの使い方、じゃないですよ・・・
でもトランザクションについてはしっかり身につけてほしいですね
あ、トランザクションの使い方、じゃないですよ・・・
108デフォルトの名無しさん
2005/11/07(月) 14:59:22 >86
それだけではないでしょ。
ユニークていうのが、あいまいで使いたくなくて、唯一つのものにするけど、
唯一つのものが、主キーだけである場合、インデックスに使えるのは主キーだけになってくるから、
その場合、中間部分に意味のあるものはだめ。
例えば、年月日時で各桁に意味を持たせた場合、月ごととか中間一致は検索できない。
この場合、分類コード項目を新たに作る必要がある。
これを意味のない連番と表現されているようだけど、これもあいまいだと思う。
それだけではないでしょ。
ユニークていうのが、あいまいで使いたくなくて、唯一つのものにするけど、
唯一つのものが、主キーだけである場合、インデックスに使えるのは主キーだけになってくるから、
その場合、中間部分に意味のあるものはだめ。
例えば、年月日時で各桁に意味を持たせた場合、月ごととか中間一致は検索できない。
この場合、分類コード項目を新たに作る必要がある。
これを意味のない連番と表現されているようだけど、これもあいまいだと思う。
109デフォルトの名無しさん
2005/11/07(月) 15:21:33 >最小分類インデックスに使えるのは
~~~~
~~~~
110デフォルトの名無しさん
2005/11/08(火) 02:24:22 年月入れる列って、日付型で1日固定として定義していい?
普通どうやる?
普通どうやる?
111デフォルトの名無しさん
2005/11/08(火) 07:20:40 俺は一日固定。でもどうせ年月しか使わないんだから日にちはどうでも良いんだよな。
112デフォルトの名無しさん
2005/11/08(火) 20:37:10 標準でXML並に日時型欲しい
113デフォルトの名無しさん
2005/11/08(火) 21:01:03 >>112
アクセスならあるけど?
アクセスならあるけど?
114デフォルトの名無しさん
2005/11/08(火) 21:17:03 日時型ってyyyy/mm/dd hh:mm:ss?
115デフォルトの名無しさん
2005/11/08(火) 22:01:41 gYear, gMonth, gDay
gYearMonth, gMonthDay
gYearMonth, gMonthDay
116デフォルトの名無しさん
2005/11/09(水) 20:13:12 durationってのもあるな
イラネつったらいらんけど統一されるとありがたい
他人が使わなかったらあんまり意味無いけど
イラネつったらいらんけど統一されるとありがたい
他人が使わなかったらあんまり意味無いけど
117>>105
2005/11/10(木) 22:25:27118デフォルトの名無しさん
2005/11/18(金) 22:26:57 O/Rマッピングを勉強中の者です。
DataMapperに関しての質問なのですが、
安直な実装では、DataMapperは識別子を受け取りドメインオブジェクトを作って返すことになるかと思います。
ここで、仮にオブジェクトの全ての値を利用するわけではなく、(状況によって変化する)
かつ、パフォーマンスを考慮して最低限のロードにとどめたい場合、
DataMapperにそのような特殊なオブジェクト(部分的にしかロードされていないオブジェクト)を返す責務を割り当てるべきなのでしょうか?
ドメインロジックに依存しない、という観点から見ると、DataMapperにそのような関数を作るのは不適当な気がしますし、
オブジェクトはデータベースに依存していないので、必要に応じて適宜読み込むようなProxyの実装も不適当かと思います。
(まだ理解が浅いので全く見当違いのことを書いているかもしれません・・・)
このような場合の解決策はどういったものになるのでしょうか。
DataMapperに関しての質問なのですが、
安直な実装では、DataMapperは識別子を受け取りドメインオブジェクトを作って返すことになるかと思います。
ここで、仮にオブジェクトの全ての値を利用するわけではなく、(状況によって変化する)
かつ、パフォーマンスを考慮して最低限のロードにとどめたい場合、
DataMapperにそのような特殊なオブジェクト(部分的にしかロードされていないオブジェクト)を返す責務を割り当てるべきなのでしょうか?
ドメインロジックに依存しない、という観点から見ると、DataMapperにそのような関数を作るのは不適当な気がしますし、
オブジェクトはデータベースに依存していないので、必要に応じて適宜読み込むようなProxyの実装も不適当かと思います。
(まだ理解が浅いので全く見当違いのことを書いているかもしれません・・・)
このような場合の解決策はどういったものになるのでしょうか。
119デフォルトの名無しさん
2006/05/13(土) 05:04:51 スレの内容よく分からんが
とりあえずageとくわ
とりあえずageとくわ
120デフォルトの名無しさん
2006/07/08(土) 16:29:01 ORマッピングが面倒だね。
GUIなんて弄りたくないのだが、楽にやる方法無いの?
XMLなんてみんな使いやすいと思って弄ってるの?
GUIなんて弄りたくないのだが、楽にやる方法無いの?
XMLなんてみんな使いやすいと思って弄ってるの?
121デフォルトの名無しさん
2006/07/23(日) 03:47:07 なんででーたべーす板って過疎ってるん?
こっちに統合しちゃえよ。
こっちに統合しちゃえよ。
122デフォルトの名無しさん
2006/07/23(日) 12:52:03 一応、PL/SQLもプログラミング言語みたいだから、
こっちでもいいんじゃない?
こっちでもいいんじゃない?
123デフォルトの名無しさん
2006/07/24(月) 01:36:28 よくわからんがJavaならJDBC4.0で解決じゃね?
124デフォルトの名無しさん
2006/07/24(月) 10:37:42 JDBCの上にまともなフレームワーク使わないと大変ですよ。
125デフォルトの名無しさん
2006/09/14(木) 18:38:32 C++からMySQL操作しているのですが、データベースの作成法を覚えていざデータベースを作ろうとすると、どう設計すればいいのかわかりませんでした。
下のような表をデータベースにしようとしてるのですが、
http://www1.mbrace.or.jp/od2/B/200609/b060914.lzh
この表のデータをどういう風にテーブルに分割すればいいのか検討がつきません。
例を示していただけるとうれしいです。
下のような表をデータベースにしようとしてるのですが、
http://www1.mbrace.or.jp/od2/B/200609/b060914.lzh
この表のデータをどういう風にテーブルに分割すればいいのか検討がつきません。
例を示していただけるとうれしいです。
126デフォルトの名無しさん
2006/09/14(木) 20:26:04 正規化って難しいですね
パズルのようで、プログラムとはちがった楽しさです
パズルのようで、プログラムとはちがった楽しさです
127デフォルトの名無しさん
2006/09/15(金) 11:16:05 正規化ってやりすぎてもパフォーマンスに悪影響出るんだろ?
128デフォルトの名無しさん
2006/09/15(金) 16:36:19 セックルをやりすぎても彼女に嫌われるのと同じ。
程々にしとくのが一番いい。
程々にしとくのが一番いい。
129デフォルトの名無しさん
2006/09/16(土) 00:52:36 なんかフィールドが50個ぐらいになっちゃったんだけど、50個は普通?
130デフォルトの名無しさん
2006/09/17(日) 01:05:10 テーブル名とかフィールト名って大文字?
小文字じゃだめかな。
小文字じゃだめかな。
131デフォルトの名無しさん
2006/09/17(日) 01:10:40 >>130
小文字じゃダメなデータベースソフトじゃなければ、どっちでもいいだろ
小文字じゃダメなデータベースソフトじゃなければ、どっちでもいいだろ
132デフォルトの名無しさん
2006/09/17(日) 01:52:02 そか、仕事ではオール大文字だったから
ありがとう
ありがとう
133デフォルトの名無しさん
2006/10/09(月) 14:56:22 SQLとはちょっと違うのだが一つ質問。
プロセス間通信のかわりにデータベースをメッセージパッシングのためのキューとして使うのってなんか問題あるのかな?
アプリ同士のメッセージ交換にActiveMQとかCORBAを使わずに簡単にできる方法としていいのかなと思うのだが。
そもそもデータベースってシステム内のスコープがものすごく広いグローバル変数だよな?
プロセス間通信のかわりにデータベースをメッセージパッシングのためのキューとして使うのってなんか問題あるのかな?
アプリ同士のメッセージ交換にActiveMQとかCORBAを使わずに簡単にできる方法としていいのかなと思うのだが。
そもそもデータベースってシステム内のスコープがものすごく広いグローバル変数だよな?
134デフォルトの名無しさん
2006/10/09(月) 16:07:49135デフォルトの名無しさん
2006/10/11(水) 20:24:50136デフォルトの名無しさん
2006/10/18(水) 01:09:27 >>135
狭い範囲ではありえないかもしれないが、イベントの契機となるものを広義な意味でメッセージと解釈すればありうるでしょ。
たとえば、ネットワークゲームである地点の状況をDBに格納して、その値をプレーヤが処理がすればそれは一種のメッセージングだよね。
狭い範囲ではありえないかもしれないが、イベントの契機となるものを広義な意味でメッセージと解釈すればありうるでしょ。
たとえば、ネットワークゲームである地点の状況をDBに格納して、その値をプレーヤが処理がすればそれは一種のメッセージングだよね。
137デフォルトの名無しさん
2006/10/18(水) 05:51:03 株価みたいなリアルタイムの値の処理もDBに突っ込んで証券各社でメッセージングしてるくらいだしなあ。
138デフォルトの名無しさん
2006/10/21(土) 09:44:16 つ電文
139デフォルトの名無しさん
2006/10/21(土) 09:51:42 DBに格納されたことを伝える方法ってないよねえ
トリガってどこまでできるんだろう
トリガってどこまでできるんだろう
140デフォルトの名無しさん
2006/10/23(月) 23:09:37 MSDEつかいはじめたんですが、現在作成しているテーブルがどれだけあるか、また
どんなものがあったかを調べるコマンドはあるのでしょうか?
どんなものがあったかを調べるコマンドはあるのでしょうか?
141デフォルトの名無しさん
2006/11/25(土) 13:51:27 すいません、ちょっと質問させてください。
ODBC経由でAccessのデータベースに、データを連続で自動登録させていたんですが、
2万数千件を超えた辺りから急激にパフォーマンスが落ちました。その後も徐々に
パフォーマンスが落ちて10万件登録するのにメチャメチャ時間が掛かります。
そこで聞きたいのですが、フツーにAccessってこのくらい件数が増えたら当り前に
パフォーマンスが落ちるものなんでしょうか?
件数が多い場合は他のデータベースを使うほうが賢いのでしょうか?
ODBC経由でAccessのデータベースに、データを連続で自動登録させていたんですが、
2万数千件を超えた辺りから急激にパフォーマンスが落ちました。その後も徐々に
パフォーマンスが落ちて10万件登録するのにメチャメチャ時間が掛かります。
そこで聞きたいのですが、フツーにAccessってこのくらい件数が増えたら当り前に
パフォーマンスが落ちるものなんでしょうか?
件数が多い場合は他のデータベースを使うほうが賢いのでしょうか?
142デフォルトの名無しさん
2006/11/25(土) 15:20:51 SQLite とか MySQL で試してみたら?
DB が悪いのかクエリーとの相性が悪いのか切り分けられるから。
DB が悪いのかクエリーとの相性が悪いのか切り分けられるから。
143デフォルトの名無しさん
2006/11/25(土) 15:32:03 分かりました。試してみます。
ところでクエリーとの相性ってなんでしょう?
ところでクエリーとの相性ってなんでしょう?
144デフォルトの名無しさん
2006/11/25(土) 15:39:09 大量のデータを一括登録する時は、それ用のクエリーの書き方ってあるものじゃん。
145デフォルトの名無しさん
2006/11/25(土) 15:43:20 い、一件ずつ登録していました・・・。
それようのクエリー、、調べてみます。
それようのクエリー、、調べてみます。
146デフォルトの名無しさん
2006/11/25(土) 15:57:46 とりあえずMySQLで試してみたら、Accessのようなパフォーマンス低下はありませんでした。
データも10万件が一分かからずに登録完了です。
しかし、それようのクエリーがあるのなら無駄な処理をしているわけで、、。
解決した問題はそれとして、調べて一から作り直してみます。
教えてくれた人、ありがとう。
データも10万件が一分かからずに登録完了です。
しかし、それようのクエリーがあるのなら無駄な処理をしているわけで、、。
解決した問題はそれとして、調べて一から作り直してみます。
教えてくれた人、ありがとう。
147デフォルトの名無しさん
2006/11/25(土) 16:31:41 >>146
autocomit?
autocomit?
148デフォルトの名無しさん
2006/11/25(土) 16:57:46149デフォルトの名無しさん
2006/11/25(土) 17:16:24 大量のデータを一括登録するときはautocommitをOFFにしましょう。
ONだと10万回のcommitが発生します。
データの登録が完了=>一回commitで
ONだと10万回のcommitが発生します。
データの登録が完了=>一回commitで
150デフォルトの名無しさん
2006/11/25(土) 17:20:26 autocomitて表全体をLockするんじゃなかったっけ。
その場合、複数クライアントがいると・・・、あるいは、インデックス更新は時間が掛かる処理だから、
CREATE INDEXは後々バッチにまわすとか。
テーブルに導出項目(年齢を日付から計算させたり)があったりJOINが多かったりしても、パフォーマンスは悪化するけど、表全体ロックだと余計に。
その場合、複数クライアントがいると・・・、あるいは、インデックス更新は時間が掛かる処理だから、
CREATE INDEXは後々バッチにまわすとか。
テーブルに導出項目(年齢を日付から計算させたり)があったりJOINが多かったりしても、パフォーマンスは悪化するけど、表全体ロックだと余計に。
151デフォルトの名無しさん
2006/11/25(土) 17:57:03 一般的なRDBMSの話だと、先にステートメントを作って使い回すとかね。
152デフォルトの名無しさん
2006/11/25(土) 20:32:53 亀レスですいませんでした。急に用事ができて出かけていたのでご容赦を。
>>149-150
言わるまで考えていませんでした。
でも、コミットって一回一回の処理ごとじゃなくてもできるんですね?知りませんでした。
10万件ものデータを一回でコミットできるんなら楽で良いですね。
それにロックがパフォーマンスを悪化させるのも初めて知って勉強になりました。
ありがとうございます!
>>149-150
言わるまで考えていませんでした。
でも、コミットって一回一回の処理ごとじゃなくてもできるんですね?知りませんでした。
10万件ものデータを一回でコミットできるんなら楽で良いですね。
それにロックがパフォーマンスを悪化させるのも初めて知って勉強になりました。
ありがとうございます!
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 【群馬】横断歩道を渡っていたNHKアナウンサーが車にはねられ骨折などの重傷 前橋市 [ぐれ★]
- ガチニートのモーニングがお洒落すぎる件
- 趣味に年50万って多い?
- 【悲報】ドイツ人「なんで日本人って自炊するの?出来合の惣菜や冷食食った方が楽でコスパいいやん。そんなんだから低生産性なんだよ [786648259]
- 底辺テイカー気質Vtuberを破壊する遊びが闇深いと話題に [922647923]
- 【動画】まんさん、アラジンのジーニーみたいな男にボコボコにされる🧞‍♂ [632966346]
- 【時事】立憲民主党、30代の支持率が「ゼロ」😨 [369521721]
