こんにちは。昨日はこちらのトピックで
ご助言を頂きありがとうございました。
タイマーに関しては問題なく実装することが出来ました。
引き続きツイッターへ自動で発言を投稿する人工無能について
の質問なのですが、この人工無能の発言内容をSQLServerのDB
に保存し発言の際にプログラム(c#)から取り出したいと
考えております。
発言の条件に現在の時間、人工無能の気分などの要素が関係
するため、取り出した複数の発言内容からどれが最も現在の
発言に適しているのかを判定する処理が必要となります。
この処理についての質問なのですが、発言時間が
来るたびに毎回DBにアクセスし、取り出した発言内容の
条件を見て計算し、最終的な発言内容を決定するという
仕様はやはり無駄が多いでしょうか。
一度目のアクセスでDBからすべての発言内容を取得し、
それ以降は取得したデータから発言内容を決定していく
ような方法を選択するほうが良いのでしょうか?
実装したい内容は、数多くの発言内容とその発言が
行われる条件を用意し、発言時に現在の条件に合った
発言を取得して発言する、というものです。
私が現在考えている方法の中で採用できそうなもの、
もしくはそれよりもよい方法がございましたら、
何卒ご教授をよろしくお願いいたします。
ツイートbotの発言内容をSQLServerから取得する場合の方法について
Re: ツイートbotの発言内容をSQLServerから取得する場合の方法について
具体的な実装の仕方によると思います。シャープ さんが書きました:発言時間が
来るたびに毎回DBにアクセスし、取り出した発言内容の
条件を見て計算し、最終的な発言内容を決定するという
仕様はやはり無駄が多いでしょうか。
例えば、毎回DBの全データを取得し、クライアントで条件を計算したら無駄が多いですね。
この方法はダメだと思います。何のためのDBなのでしょうか?シャープ さんが書きました:一度目のアクセスでDBからすべての発言内容を取得し、
それ以降は取得したデータから発言内容を決定していく
ような方法を選択するほうが良いのでしょうか?
だったらDBなんて高度な技術をわざわざ使用せずに、
データを(普通のCSVなどの)ファイルから読み込んだほうがいいと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: ツイートbotの発言内容をSQLServerから取得する場合の方法について
データベースに保存するのは検索などを高速化する為に使います。
なので、データベースの保存するときに、取り出すための検索条件を計算しておいて検索キーとして保存しておかなくてはいけません。
使う時は検索キーで取り出すだけです。
つまり、データベースの使い方そのものを理解されていない気がするのです。
なので、データベースの保存するときに、取り出すための検索条件を計算しておいて検索キーとして保存しておかなくてはいけません。
使う時は検索キーで取り出すだけです。
つまり、データベースの使い方そのものを理解されていない気がするのです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: ツイートbotの発言内容をSQLServerから取得する場合の方法について
お二方、ご返信をありがとうございます。
やはり今回の処理はSQLServerを利用するべきではないのですね。
当初はcsvを利用することがはじめに思いついたのですが、SQLServerの利用方法を試してみたく、その部分の効率を無視して決定してしまいました。
最終的にはcsvを利用することを考えますが、少しの間、SQLServerでも実装したいことができる方法がないかどうか考えてみることとします。
ご教授をまことにありがとうございました。
やはり今回の処理はSQLServerを利用するべきではないのですね。
当初はcsvを利用することがはじめに思いついたのですが、SQLServerの利用方法を試してみたく、その部分の効率を無視して決定してしまいました。
最終的にはcsvを利用することを考えますが、少しの間、SQLServerでも実装したいことができる方法がないかどうか考えてみることとします。
ご教授をまことにありがとうございました。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: ツイートbotの発言内容をSQLServerから取得する場合の方法について
今回の処理が具体的には分からないので答えようが無いですが、データベースはメモリに取り出してからフィルタリングするのではなく、データベースから取り出す時にフィルタリングするのです。シャープ さんが書きました:お二方、ご返信をありがとうございます。
やはり今回の処理はSQLServerを利用するべきではないのですね。
当初はcsvを利用することがはじめに思いついたのですが、SQLServerの利用方法を試してみたく、その部分の効率を無視して決定してしまいました。
最終的にはcsvを利用することを考えますが、少しの間、SQLServerでも実装したいことができる方法がないかどうか考えてみることとします。
ご教授をまことにありがとうございました。
この違いをご理解ください。大事なのは検索キーです。
なお、語彙の豊富な人工無能であれば、設計が最適であればデータベースも有用なものに成るに違いありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: ツイートbotの発言内容をSQLServerから取得する場合の方法について
はい、一応ですがこれまでにSQLServerを使用したことがありますので、
ご指摘いただいたことで理解を新たにすることはできました。
そのため現在は、DBから取得するための検索キーを、プログラムの方のみで
一意に確定する方法を探っております。
そもそもこのような作業が必要な時点で、利用方法を誤っているということなのでしょうが…。
解決トピックであるにも関わらず、アフターフォローをまことにありがとうございました。
ご指摘いただいたことで理解を新たにすることはできました。
そのため現在は、DBから取得するための検索キーを、プログラムの方のみで
一意に確定する方法を探っております。
そもそもこのような作業が必要な時点で、利用方法を誤っているということなのでしょうが…。
解決トピックであるにも関わらず、アフターフォローをまことにありがとうございました。