誰でもmysqlのテーブルに入力された新しいデータの存在を知るために、5秒ごとのスキャンを行うためにJavaで関数を作成する方法を、私を助けることができます。のjavaを持つテーブルのSQLをスキャンごとに5秒
答えて
。
ここにコードがあります。
java.util.TimerTask task = new java.util.TimerTask() {
int prevCount = 0; // you can declare it static
@Override
public void run() {
Connection conn = getConnection();
try {
ResultSet rs = conn.prepareStatement("Select Count(*) from table").executeQuery();
int count = rs.getInt(1);
System.out.println("Count diff:"+ (prevCount-count));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
java.util.Timer timer = new java.util.Timer(true);// true to run timer as daemon thread
timer.schedule(task, 0, 5000);// Run task every 5 second
try {
Thread.sleep(60000); // Cancel task after 1 minute.
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
timer.cancel();
最初は実行中にエラーが発生し、次に 'int count = rs.getInt(1); 'を入力しようとしましたが、" while "ループにはもうエラーはなく、なぜそうであるのか分かりません。しかし、 ありがとう、この問題を解決するのに非常に役立つコードです。 – adjieq
大きなテーブル(特に大きなテーブル)で検索を行うのは大変です。したがって、おそらく、新しいデータを別の方法で検出することによって、テーブルの読み込み量を減らすことができます。実際のデータをフェッチする前に
たとえば、テーブルのサイズを確認することができます。これを行うには、単に "テーブルからカウント(*)を選択"操作を実行するか、ここでのようにディスク上のテーブルのサイズを計算することもできます:How to get the sizes of the tables of a mysql database?
データベーストリガーのバリアントも役立ちます。たとえば、Javaアプリケーションが表示される最後のテーブルの更新のマーカーをトリガーが更新する場合はどうなりますか?この変種はまた、あなたのテーブルのアイドルリードの実行を避けるのに役立ちます。あなたは、DBの変更をスキャンするJavaプログラムを必要としない
あなたの答えに感謝します。基本的な問題は、受信トレイのすべての受信メッセージに対して自動返信を試みることです。受信データを最初に処理する必要があるため制約があります。 – adjieq
は、離れて、それがネットワークやDBにコストがかかることになる冗長から、それはすでに標準溶液として与えられている機能を実装することをお勧めではありません。あなたは何ができるか
CREATE TRIGGER `some_update_happened` BEFORE/AFTER INSERT/UPDATE/DELETE
ON `mydb`.`mytable`
FOR EACH ROW BEGIN
// your code here for db trigger calling java function
END;
は、DB更新トリガがthis link & this linkを参照してください使用しています。 トリガを実装した後、私はphp、javaなどで実装されたサービスを使用してトリガを捕捉する必要があると考えます。トリガの自動化を受信するイベントリスナを実装する必要があります。ちょうどdone here for PHPのように、またオークションのドキュメントにはexampleがありますが、これはOracle向けです。ここにはjava+mysqlの例があります。
私は、エラーによりステップバイステップで、エラーを行くと、あなたがそこに着くなり、あなたが初心者で理解しています。がんばろう。あなたは、Javaが提供するタイマー&タイマータスクでそれを行うことができ、唯一のJavaソリューションを必要とする場合には
提案していただきありがとうございます。トリガーを使用すると効率的だと思いますが、トリガーについてもっと知る必要があります – adjieq
トリガーはあまり問題にならないでしょう。これを済ませたら、あなたの経験を共有してください。 – BhargavSushant
- 1. PHP SQL SELECT文を5秒ごとにクエリする方法は?
- 2. 5分ごとにトリガーを持つタイマー
- 3. Androidスタジオアップデートtextview 5秒ごと
- 4. モーダルHREFは、私は、タイマーのAJAX要求(5秒ごと)を持つAJAX要求
- 5. Refresh D3で5秒ごとにテーブルが生成される
- 6. Android:XX秒ごとにQRコードの画面をスキャン
- 7. は約5〜10秒ごとに
- 8. 5秒ごとに起動するタイマー
- 9. 5秒ごとにトリガーするボタン
- 10. 5秒ごとに落ちるスプライト
- 11. jQuery自動リフレッシュdiv/span 5秒ごと
- 12. Xamarin.androidのバックグラウンドサービスで5秒ごとにトーストメッセージを表示
- 13. CSS Textアニメーションの時間延長を5秒ごとに更新
- 14. マップのリーフレットで5秒ごとにマーカを移動
- 15. 30 SQLで5秒ごとに保存されたデータを取得
- 16. プレイリストの5秒間のオーディオクリップを5曲ごとに再生する方法は?
- 17. Threading.Timer(5、function)は5秒ごとに起動します
- 18. SQLクエリは、私は2つのテーブルを持っている代わりに、インデックスベースのスキャン全表をスキャン
- 19. Sqlインデックスとフル・テーブル・スキャン
- 20. アカウントごとに4つのテーブルを持つレポート
- 21. 1秒ごとにキーワードのページをスキャンするのが効率的ですか?
- 22. ボタンを5秒ごとにトリガーするマウスをクリック
- 23. シェルx秒間に5秒ごとにコマンドを実行するスクリプト
- 24. 配列マーカーにInfowindowを5秒ごとにリフレッシュするGoogleマップ
- 25. GTMは5秒ごとにページにテキストを表示します
- 26. 5秒ごとに自動的にタスクを呼び出す
- 27. 5秒ごとに背景を変更するには
- 28. jmeterで5秒ごとに1リクエストを送信するには
- 29. 5つのテーブルと挿入と選択を持つデータベース
- 30. 5秒ごとにクリップボードを上書きする方法は?
解決策としてmysqlトリガを使用できるとします。あなたが試したことを分かち合うと助けになるかもしれません。 –
@Rajith - トリガでこれをどのように解決できますか? – GurV
@adjieq - これまでに試したことはありますか? 、私はプログラミング言語の初心者です – GurV