1

centos(6.2final)、mysql 5.1.66、java jdk 1.6 でプログラミングしました。

このコードはサーバーの結果を取得します。

public ArrayList confirm(String key, String string) {
        ArrayList tmp = null;

        try {
            PreparedStatement prep = null;
            try {
                prep = Local.prepareStatement("select distinct tags from tagDB where key=? and string!=?;");
            } catch (Exception e) {

            }

            if (prep != null) {
                prep.setString(1, key);
                prep.setString(2, string);

                int count = getRowCount(prep.executeQuery());
                if (count > 0) {
                    tmp = new ArrayList();
                    ResultSet rs = prep.executeQuery();
                    while (rs.next()) {
                        tmp.add(rs.getString("tags"));
                    }
                    return tmp;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return tmp;
    }

サーバーのデータベースは良好です。そう思います。

mysqlを見たい場合。私はあなたにそれを得ることができます。

Javaからの私のログは以下です。

16:2:46:450, turnaround time :26

16:2:46:484, turnaround time :23

...

16:2:47:665, turnaround time :23

16:2:50:136, turnaround time :71

16:2:50:246, turnaround time :106

...

16:2:53:22, turnaround time :54

**16:2:58:131, turnaround time :5098**

16:2:58:157, turnaround time :22

...

16:2:58:325, turnaround time :23

**16:3:3:358, turnaround time :5028**

**16:3:8:423, turnaround time :5027**

16:3:9:525, turnaround time :22

...

16:3:10:248, turnaround time :64

**16:3:15:288, turnaround time :5032**

正確に 5000ms 遅れることもあります。

なのでJavaのGCのようにサーバーのメモリやバッファの設定が原因だと思います。

そこで、my.cnf(mysqlの設定ファイル)を編集します。maxconnection、max_heap_table_size、max_tmp_table_size、thread_cache_size などのサイズについて。(thread_cache_sizeの値といくつかのテーブルの調整に失敗しました.my.cnfファイルは2つの値を超えて調整されません....)

何も起こらなかったより。

mysql のスロー クエリ ログは何も取得できません。

...私がこれ以上できないことは何もありません。お願いします..そして、すべてを読んでくれてありがとう....

そんなに。良い一日をお過ごしください。

ps。私の英語は上手ではありません..知っています。こちらもすみません^^;

4

0 に答える 0