我可以在mysql中向性能模式添加索引吗

我可以在mysql中向性能模式添加索引吗,mysql,indexing,Mysql,Indexing,performance_模式似乎有一些影响,我很好奇我们有什么工具来减轻影响 我在开发人员正在研究的mysql 8.x中看到,这是否是我们可以自己手动添加到db中的潜在内容?如果是这样的话,我们是否可以在添加PFS可能会使用的索引方面使用资源?否,这是不受支持的。您根本无法更改性能模式表上的表 master [localhost] {root} (performance_schema) > select version(); +------------+ | version() | +-

performance_模式似乎有一些影响,我很好奇我们有什么工具来减轻影响


我在开发人员正在研究的mysql 8.x中看到,这是否是我们可以自己手动添加到db中的潜在内容?如果是这样的话,我们是否可以在添加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_模式中添加索引也不会提高性能,反而会使开销变得更大

你链接到的文章说:

一些读者可能还注意到,performance_schema表是高度不稳定的,数据连续写入其中,而只读取几次,通常由监控应用程序每隔一段时间读取一次。如果工作负载是写密集型的,只有几次读取,那么在添加索引时使用的表是一个危险信号,因为维护索引的成本比好处高出一个数量级。

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