php – 如何提高MySQL数据库的性能

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何提高MySQL数据库的性能脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
如何提高 mysql数据库性能,因为我的网站托管在共享服务器中,并且由于“查询太多”而暂停了我的帐户
问题是“索引”或“缓存”或修剪我的数据库
我不知道“索引”和缓存是什么意思以及如何在PHP上执行此操作
谢谢

解决方法

索引是什么:

数据库表视为库 – 您拥有大量书籍(记录),每个书籍都包含相关数据(作者姓名,出版商,出版日期,ISBN,内容).还假设这是一个非常天真的图书馆,所有书籍都按ISBN(主键)顺序搁置.正如书籍只能有一个物理排序一样,数据库表只能有一个主键索引.

现在想象有人来到图书管理员(数据库程序)并说,“我想知道图书馆里有多少Nora Roberts书籍”.要回答这个问题,图书管理员必须走过走道,看看图书馆里的每本书,这本书很慢.如果图书管理员收到这样的许多请求,那么按照作者姓名(姓名索引)设置卡片目录是值得的 – 然后他可以通过参考目录而不是走货架来更快地回答这些问题.从本质上讲,索引建立了书籍的“替代排序” – 它将它们视为按作者的字母顺序排序.

请注意1)设置目录需要时间,2)目录占用了库中的额外空间,3)它使向图书馆添加书籍的过程变得复杂 – 而不仅仅是将书籍放在书架上此外,图书管理员还必须填写索引卡并将其添加到目录中.以同样的方式,在数据库字段上添加索引可以加快查询速度,但索引本身会占用存储空间并减慢插入速度.因此,您应该只根据需要创建索引 – 索引很少搜索的字段没有意义.

缓存是什么:

如果图书管理员有很多人进来并一遍又一遍地问同样的问题,那么在前台写下答案可能是值得的.他可以简单地说,“这是我给最后一个问这个问题的人的答案”,而不是检查堆栈或目录.

在您的脚本中,这可能以不同的方式应用.您可以存储数据库查询或计算的结果或呈现的网页的一部分;您可以将它存储到辅助数据库表或文件或会话变量或memcached等内存服务.您可以存储预先解析的数据库查询,随时可以运行.像Smarty这样的库会自动为您存储部分或全部页面.通过存储结果并重复使用,您可以避免多次执行相同的工作.

在每种情况下,您都必须担心答案保持有效的时间.如果图书馆有新书怎么办?使用可能五分钟过时的答案是否可以?过时的一天怎么样?

缓存是特定于应用程序的;您将不得不考虑数据的含义,更改的频率,计算的成本,结果的频率.如果数据变化缓慢,最好每次更改时重新计算并存储结果;如果它经常变化但并不重要,仅当缓存值超过特定年龄时更新可能就足够了.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何提高MySQL数据库的性能全部内容,希望文章能够帮你解决php – 如何提高MySQL数据库的性能所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。