簡體   English   中英

MySQL慢查詢日志的bug? 記錄快速查詢

[英]MySQL slow query log bug? Logging quick queries

我已經設置了MySQL慢查詢日志,幾乎是默認設置:

slow-query-log = 1
slow-query-log-file = /var/lib/mysql/mysql-slow.log
long_query_time = 1

當查看輸出時,我注意到它記錄了此查詢:

# Time: 180323  9:08:17
# User@Host: db_sys[db_sys] @ localhost []
# Thread_id: 129753  Schema: pace-data  QC_hit: No
# Query_time: 1.193407  Lock_time: 0.000040  Rows_sent: 0  Rows_examined: 0
# Rows_affected: 10
SET timestamp=1521792497;
REPLACE INTO `core_model_img` (`id_img`) VALUES ('848'), ('287'), ('311'), ('288'), ('289'), ('290'), ('291'), ('94'), ('292'), ('294');

它正在1列表中插入(或替換)10行(該列已建立索引)。 我自己運行查詢時,需要60毫秒。 是的,有時為65毫秒,但絕對不接近1.194307秒。

另一個奇怪的是,查詢似乎以某個奇怪的時間間隔(UTC時間)返回:1:38:17,2:08:17,2:38:17,5:08:17,5:38:17,6 :08:17,6:38:17,8:38:17 這是在晚上,而沒有真正的用戶活動發生。

查詢可以由某人或某人(它是Web服務器)間接調用,因此這可以解釋,但是:困擾我的主要是查詢時間。 我找不到原因為什么要記錄此查詢。 可能是錯誤嗎?

(來自評論)

CREATE TABLE `core_model_img` (
    `id_img` int(11) NOT NULL, 
    UNIQUE KEY `id_img` (`id_img`), 
    CONSTRAINT `core_model_img_ibfk_1` FOREIGN KEY (`id_img`)
               REFERENCES `lib_img` (`id`)
               ON DELETE CASCADE
               ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

REPLACEDELETEINSERT的組合。

我想知道在知道INSERT相同之前, DELETE級聯嗎? 在這種情況下,我擔心REPLACEFOREIGN KEYs不兼容。

REPLACE更改為INSERT IGNORE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM