2017-09-29 1 views
0

私は、エンドユーザーが入力した用語を使用して、mariadbデータベース内のフルテキストインデックスを検索できるWebサイトを用意しています。mariadbデータベースで実行されたクエリ数の統計を検索するにはどうすればよいですか?

クエリは、そのクエリから返された結果の使用(select columnnames from tablename where match from tablename where match(column_names) against USER_input

のようなもので、彼らは特定のレコード(複数の列と行を)返す結果をクリックすることができます。

をどのように見つけることができます

データベース上で実行されたクエリの数を知りたいだけでなく、mariadbで月、日、曜日別に解析できる方法がある場合は、年は、それは素晴らしいでしょう。

私はuserstatを有効にしています。

答えて

0
mysql> SHOW GLOBAL STATUS LIKE 'Com_select'; 
+---------------+-------+ 
| Variable_name | Value | 
+---------------+-------+ 
| Com_select | 9669 | 
+---------------+-------+ 

は、mysqldが最後に起動してから9669 SELECTsが実行されていることを(MySQLやMariaDBに)言います。

時間内に利用可能な内訳ではありません。

「一般ログ」を使用して、すべてのクエリを記録できます。しかし、このログは、あなたが好きな詳細を考え出すために、解析される必要があります。そして、このログはディスクを急速に満たすでしょう。何ヶ月も使用しないようにしてください。 (でも、一日が危険な、スペースが賢明です。)

MariaDBとPerconaのバージョンの場合:

、個々のユーザーのために、それはすべてのユーザーに対して

SELECT SELECT_COMMANDS 
    FROM INFORMATION_SCHEMA.USER_STATISTICS 
    WHERE user = '...'; 

のようなものです:

SELECT user, SELECT_COMMANDS 
    FROM INFORMATION_SCHEMA.USER_STATISTICS; 
+0

ありがとうリック。幸いにも、私はそのデータベース専用のユーザーしかいなかったので、少なくともmariadb 10.0の2番目のクエリを使用してこれを見つけることができました。今後の読者には、多くのMySQLユーザがINFORMATION_SCHEMAメタテーブルにアクセスするための適切な権限を持っていない可能性があり、別のユーザとしてログインするか、そのユーザに特権を与える必要があることに注意してください。 –

関連する問題