【问题标题】:How to find statistics of how many queries have run on my mariadb database?如何查找在我的 mariadb 数据库上运行了多少查询的统计信息?
【发布时间】:2018-03-11 09:37:06
【问题描述】:

我有一个网站,最终用户可以使用他们输入的术语在 mariadb 数据库中搜索全文索引。

查询类似于 (select columnnames from tablename where match from tablename where match(column_names) against USER_input

使用从该查询返回的结果,他们可以单击返回特定记录(具有多列的行)的结果。

我怎样才能知道在这个数据库上运行了多少 SELECT 查询?

我只想知道在数据库上运行了多少查询,如果 mariadb 中还有一种方法可以按月、日和年解析此统计数据,那就太好了。

我确实启用了userstat

【问题讨论】:

    标签: mariadb percona


    【解决方案1】:
    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;
    

    【讨论】:

    • 谢谢瑞克。对我来说幸运的是,我有一个专门用于该数据库的用户,所以我能够使用您的第二个查询找到它,至少从 mariadb 10.0 开始。我只是提醒未来的读者,许多 mysql 用户可能没有适当的权限来访问 INFORMATION_SCHEMA 元表,需要以其他用户身份登录或授予该用户权限。
    猜你喜欢
    • 2010-09-06
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    相关资源
    最近更新 更多