ICode9

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

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

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

标签: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

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

ICode9版权所有