我在MySQL是个新手,但我在Java方面有一些OOP方面的经验。当内存中有“数据库”时(如用Java编程时),查找速度取决于它是否以链接列表、散列图等的形式存储。MySQL数据库存储在硬盘上,因为它是一个文件。在这种情况下,查找的运行时间是多少?是否有一种方法可以像在内存中访问数据时一样,获得对硬盘中某一项的恒定时间访问?它是否取决于它是硬盘还是SSD?
谢谢!
发布于 2014-01-02 00:44:02
MySQL性能是一个庞大而复杂的话题。你可以找到很多关于这个主题的书,而这里没有答案可以希望触及到所有的重要问题。
从数据库设计的角度来看,主要步骤(不一定是有序的)是设计一个好的模式,定义正确的索引来支持您希望处理的查询,为每个表选择正确的引擎,并设计查询本身以获得最佳的性能。MySQL查询分析器和解释语句一样,是解决这些问题的工具。
在服务器配置方面,需要大量的调优来提高性能。正如MySQL手册主题估计查询性能所描述的,性能的基本单位是磁盘查找,理论上这是行数中的log。然而,底层操作系统和MySQL服务器都可能进行相当多的缓存,这会使实际性能在实际中增长得更慢(更不用说使其绝对值更快)。按照上述页面的链接,搜索web上的一些服务器配置指南,并/或阅读一两本书,了解如何使用MySQL提供的所有性能相关参数。
https://stackoverflow.com/questions/20873900
复制相似问题