mysql:7658
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 7 May 2003 08:09:35 +0900
Subject: [mysql 07658] Re: C 言語の API によるクエリの中断について
とみたです。 On Tue, 6 May 2003 18:29:12 +0900 "m.yamazaki" <yamazaki.ms@xxxxxxxxxx> wrote: > 例えですが、LOAD DATA文にて > 1000万件入っているファイルをテーブルに挿入するのに > 2分かかるとします。 > それをLOAD DATA文投入1分後に強制的に中断するには > どのようにすればよいのでしょうか? > 下記の方法は試したのですが、だめでした。 > 試した内容 > ・タイマを張って1分後にmysql_closeする > →mysql_query関数からは戻ってきますが、 > 投入したSQL文が中断せずデータが挿入されてしまいます。 SIGALRM のシグナルハンドラで mysql_close() を呼んだってことでしょうか。 やっていいのかな…(^^; > ・mysql_thread_idにて接続スレッド取得後、タイマを張って1分後に > mysql_kill。 > →mysql_query関数から戻ってこないため、mysql_killが > LOAD DATA文終了後にしか投入されない。 プログラムをマルチスレッド化して、mysql_query() とは別のコネクションを 張って、そっちで mysql_kill() する方法はどうでしょう? そもそも LOAD DATA 文の実行中に、途中で止められるのかどうかという問題 もあるような気が… (^^; -- とみたまさひろ <tommy@xxxxxxxxxx> 日本MySQLユーザ会 http://www.mysql.gr.jp
7650 2003-05-06 18:29 ["m.yamazaki" <yamaza] C 言語の API によるクエリの中断について -> 7658 2003-05-07 08:09 ┗[とみたまさひろ <tomm] 7661 2003-05-07 10:12 ┗["m.yamazaki" <yamaza]