【TiDB 版本】:
3.0.11
###【问题描述】:
设置 单条 SQL 语句可以占用的最大内存阈值,并发时还有超出阈值的 SQL 执行成功
内存已经限制了1G 但是从慢SQL中还是可以看到,耗费内存非常大的SQL执行成功了
SELECT
DATE_FORMAT( Time, '%Y年 %m月 %d日 %H:%i' ) AS '发生日期',
CONCAT( Query_time, '(秒)' ) AS '执行这个语句花费的时间',
DB AS 'DB',
CONCAT( Process_time, '(秒)' ) AS 'SQL在TiKV的 处理时间之和',
CONCAT( Wait_time, '(秒)' ) AS 'SQL在TiKV的 等待时间之和',
Mem_max / 1024 / 1024 AS 'sql 使用的内存(MB)'
FROM
information_schema.`slow_query`
WHERE
`is_internal` = FALSE
AND DB != ''
AND time > DATE_SUB( NOW( ), INTERVAL 1 HOUR )
ORDER BY
`Mem_max` DESC,
`time` DESC,
`query_time` DESC
LIMIT 6;
SELECT @@tidb_mem_quota_query;
+------------------------+------------------------+-------------+--------------------------+--------------------------+----------------------+
| 发生日期 | 执行这个语句花费的时间 | DB | SQL在TiKV的 处理时间之和 | SQL在TiKV的 等待时间之和 | sql 使用的内存(MB) |
+------------------------+------------------------+-------------+--------------------------+--------------------------+----------------------+
| 2020年 04月 09日 18:20 | 116.107092117(秒) | prd | 178.097(秒) | 516.197(秒) | 7731.86313534 |
| 2020年 04月 09日 18:18 | 102.784221652(秒) | prd | 175.59(秒) | 614.41(秒) | 6946.97322750 |
| 2020年 04月 09日 17:31 | 101.107082278(秒) | prd | 16.05(秒) | 44.459(秒) | 6409.95803452 |
| 2020年 04月 09日 18:16 | 77.432291534(秒) | prd | 168.739(秒) | 521.892(秒) | 6247.95002842 |
| 2020年 04月 09日 18:15 | 58.694526321(秒) | prd | 157.47(秒) | 664.316(秒) | 5724.31919003 |
| 2020年 04月 09日 18:14 | 51.395296538(秒) | prd | 147.136(秒) | 629.968(秒) | 4984.60651779 |
+------------------------+------------------------+-------------+--------------------------+--------------------------+----------------------+
6 rows in set
Time: 3.632s
+------------------------+
| @@tidb_mem_quota_query |
+------------------------+
| 1073741824 |
+------------------------+
1 row in set
Time: 0.014s