ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

我可以在MySQL的Performance_schema中添加索引吗

2019-11-09 05:15:18  阅读:54  来源: 互联网

标签:indexing mysql



Performance_schema似乎有varying个量的performance impact,我很好奇我们必须使用哪些工具来减轻影响?

我在mysql 8.x中看到开发人员正在研究setting up indexing,这是否是我们可以自己手动添加到数据库中的潜在内容?如果是这样,是否有资源可用于添加PFS可能使用的索引?

解决方法:

不,不支持.您根本不能在性能模式表上更改表.

master [localhost] {root} (performance_schema) > select version();
+------------+
| version()  |
+------------+
| 5.7.20-log |
+------------+

master [localhost] {root} (performance_schema) > alter table events_statements_summary_by_thread_by_event_name add primary key (thread_id, event_name);
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'performance_schema'

master [localhost] {root} (performance_schema) > show grants;
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION        |
+---------------------------------------------------------------------+

即使可以做到,在MySQL 8.0之前的Performance_schema中添加索引也不会提高性能,但会使开销变得更糟.

您链接的文章说:

Some readers might also have noted that the performance_schema tables are highly volatile, with data written to it continuously, while read only a few times, typically once in a while by a monitoring application. A table used in a workload which is write intensive with only a few reads is a red flag when it comes to add an index, as the cost of maintaining the index is order of magnitudes higher that the benefits.

为MySQL 8.0开发的用于模拟索引的功能只是假装存储持久索引.如文章所述,它们仅报告索引以指导优化器选择最佳访问模式.确实没有任何索引.



标签:indexing,mysql
来源: https://codeday.me/bug/20191109/2011962.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有