mysql データベースに関連する問題があります。私は Linux Web サーバー管理者で、mysql クエリの問題に直面しています。データベースは非常に小さいです。ログで追跡しようとしたところ、クエリの応答に最低 5 秒かかっていることがわかりました。サイトの最初のページはデータベースから来ています。クライアントは cms を使用しています。サーバーが一定数のヒットを取得すると、データベース サーバーの応答が非常に遅くなり、待機時間が 5 秒から数秒に増加します。
スロークエリログを確認しました
{
Query_time: 11.480138 Lock_time: 0.003837 Rows_sent: 921 Rows_examined: 3333
SET timestamp=1346656767;
SELECT `Tender`.`id`,
`Tender`.`department_id`,
`Tender`.`title_english`,
`Tender`.`content_english`,
`Tender`.`title_hindi`,
`Tender`.`content_hindi`,
`Tender`.`file_name`,
`Tender`.`start_publish`,
`Tender`.`end_publish`,
`Tender`.`publish`,
`Tender`.`status`,
`Tender`.`createdBy`,
`Tender`.`created`,
`Tender`.`modifyBy`,
`Tender`.`modified`
FROM `mcms_tenders` AS `Tender`
WHERE `Tender`.`department_id` IN ( 31, 33, 32, 30 );
}
ログのすべての行は同じですが、クエリ時間に違いがあります。パフォーマンスを微調整する方法はありますか?
更新:EXPLAIN
結果は次のとおりです。
+----+-------------+--------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------+------+---------------+------+---------+------+------+-------------+
| 1 | SIMPLE | Tender | ALL | NULL | NULL | NULL | NULL | 3542 | Using where |
+----+-------------+--------+------+---------------+------+---------+------+------+-------------+
1 row in set, 1 warning (0.00 sec)
クライアントはインデックスを使用していると言っているので、コマンドを実行してインデックス作成を確認します。
次の出力が得られました。インデックスを使用していることを意味しますか。
+--------------------+------------+----------+---------- --+-------------+-----------+------------+------ -+--------+------+------------+---------+ | 表 | 表 一意でない | キー名 | Seq_in_index | 列名 | 照合 | カーディナリティ | サブパート | 梱包済み | ヌル | インデックスの種類 | コメント | +--------------------+------------+----------+---------- --+-------------+-----------+-------------+----- ---+--------+------+------------+---------+ | mcms_tenders | 0 | プライマリ | 1 | ID | あ | 4264 | ヌル | ヌル | | | Bツリー| | | +--------------------+------------+----------+---------- --+-------------+-----------+-------------+----- ---+--------+------+------------+---------+