我有一个网站,可让最终用户使用他们输入的字词在mariadb数据库中搜索全文索引。
查询类似于(select columnnames from tablename where match from tablename where match(column_names) against USER_input
使用从该查询返回的结果,他们可以单击返回特定记录的结果(具有多个列的行)。
如何确定在此数据库上运行了多少个SELECT查询?
我只想知道在数据库上运行了多少查询,如果在mariadb中还有一种方法可以按月,日和年分析这个统计数据,那就太棒了。
我确实启用了userstat。
答案 0 :(得分:0)
mysql> SHOW GLOBAL STATUS LIKE 'Com_select';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select | 9669 |
+---------------+-------+
说(在MySQL或MariaDB中)自从mysqld上次启动以来已经运行了9669 SELECTs
。
时间没有细分。
“常规日志”可用于记录所有查询。但是需要对此日志进行解析等,以提供您喜欢的详细信息。而且,这个日志会迅速填满磁盘;所以不要考虑使用它几个月。 (甚至有一天在风险方面也是冒险的。)
对于MariaDB和Percona版本:
对于个人用户,它类似于
SELECT SELECT_COMMANDS
FROM INFORMATION_SCHEMA.USER_STATISTICS
WHERE user = '...';
对于所有用户:
SELECT user, SELECT_COMMANDS
FROM INFORMATION_SCHEMA.USER_STATISTICS;