https://img-mid.csdnimg.cn/release/static/image/mid/ask/837461082586173.png?x-oss-process=image/auto-orient,1/resize,w_320,m_lfithttps://img-mid.csdnimg.cn/release/static/image/mid/ask/214581082586124.png?x-oss-process=image/auto-orient,1/resize,w_320,m_lfithttps://img-mid.csdnimg.cn/release/static/image/mid/ask/510091082586115.png?x-oss-process=image/auto-orient,1/resize,w_320,m_lfit
为什么包含头文件mysql.h还是显示不存在该头文件
忽略问题标题,根据“包含头文件mysql.h还是显示不存在该头文件”,是你编写c/c++程序时,#include<mysql.h>提示找不到mysql.h吧?本机是否安装了MySQL开发包,仅安装MySQL可能不够,某些系统需单独安装、或者安装选项里没勾选开发包。
不知道你这个问题是否已经解决, 如果还没有解决的话:
- 这篇文章讲的很详细,请看:(十四)Mysql 单表 VS 联表(全文很长,你要认真点)
- 除此之外, 这篇博客: MySQL的逻辑架构中的 缓冲池vs查询缓存 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

缓存原则
位置 * 频次这个原则,可以帮我们对I/O访问效率进行优化
首先位置决定效率,提供缓冲池就是为了在内存中可以直接访问数据
其次,频次决定优先级顺序。因为缓冲池的大小是有限的,会优先对使用频次高的热数据进行加载
缓冲池的预读特性
缓冲池的作用就是提升I/O效率,而我们进行读取数据的时候存在一个局部性原理,也就是说我们使用了一些数据,大概率还会使用它周围的一些数据,因此采用预读机制提前加载,可以减少未来可能的磁盘I/O操作
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^