首页 > 语言 > 关键词  > MySQL数据库最新资讯  > 正文

MySQL数据库磁盘优化

2008-11-24 17:32 · 稿源:it168.com

磁盘搜索是性能的很大瓶颈。这个问题在数据大量增长以至于无法使用有效的缓存时尤为明显。或多或少随即访问大数据库时,就必然会有至少一次磁盘搜索来读数据,两次磁盘搜索来写数据。最小化这个问题的办法就是降低磁盘搜索次数。

增加有效磁盘马达数量(这能减少搜索时的开销)或者将不同的文件链接到不同的磁盘上又或者分盘:

使用符号链接

意思是,把 MyISAM 表的索引文件和/或数据文件从数据目录下通常的地方链接到其他磁盘上(这也是分盘)。如果这个磁盘没有其他用途的话,这对读写次数都比较好。详情请看"7.6.1 Using Symbolic Links"。

分盘

如果有好几个磁盘,就把第一个区块放在第一个磁盘,把第二个区块放在第二个磁盘,以此类推。这意味着正常的数据大小比分盘后的数据小(或者完全一样),这能获得更好性能。分盘完全依赖于操作系统以及分盘的大小,因此要用不同的分盘大小基准测试应用程序。详情请看"7.1.5 Using Your Own Benchmarks"。基准测试的速度的不同完全依赖于分盘大小。依赖分盘设置参数以及磁盘数量,会得到大量不同的测量结果。必须随机或者顺序选择优化方法。

可能会为了可靠性采用 RAID 0+1,这时,就必须用 2*N 个驱动去来保存 N 个驱动器上的数据。如果有足够的内存这可能是最好的方法。不过,这也需要使用卷管理软件来有效地管理数据。

另一个好办法是RAID的级别根据数据的重要性而定。例如,把能重新生成的有点重要的数据保存在RAID 0磁盘上,把很重要的数据如主机信息日志等保存在RAID 0+1或者RAID N磁盘上。RAID N在有很多个写入时可能会有问题,因为会同时请求更新同一个字节位。

在Linux上,可以用 hdparm 来配置磁盘接口以获得更好的性能(在负载下高达100%也不是不可能的)。以下 hdparm 配置选项对MySQL就很合适,对其他应用程序可能也不错:

hdparm -m 16 -d 1

注意,当使用这个命令之后性能和可靠性会依赖硬件,因此我们强烈建议在使用 hdparm 后一定要做测试。请查阅 hdparm 的手册。如果没有正确使用 hdparm,则可能导致文件系统冲突,所以在试验之前备份一下。

还可以在数据库使用的文件系统上设置其参数:如果无需知道文件的最后访问时间(这对数据库系统没用),则在挂载文件系统时使用 -o noatime 选项。这就会略过更新文件系统节点的最后访问时间,也就减少了磁盘搜索。在很多操作系统上,可以在挂载文件系统是使用 -o async 选项以异步更新它。如果你的机器相当的稳定,这会带来性能提升但可靠性并没牺牲多少(默认只能在Linux上这样用)。

1、使用符号链接

可以把数据表或者数据库移动到别的目录下,然后用符号链接到新的位置来代替。你可能想这么做,例如,想要把表分布到不同的磁盘上以提高系统速度,就把它们移动到有更多剩余空间的磁盘上。

建议只是把数据库链接到其他磁盘上,数据表的链接是最后的选择。

1.1 在 Unix 上符号链接数据库

在Unix上,给数据库做符号链接的方法是先在其他磁盘上创建一个目录,然后再把它链接到MySQL数据文件目录下。

shell> mkdir /dr1/databases/test

shell> ln -s /dr1/databases/test /path/to/datadir

MySQL不支持把一个目录链接成多个数据库。只要没有在数据库间做符号链接,那么它就没问题。假使在MySQL数据文件目录下已经有一个数据库 db1 了,然后把 db1 链接到 db2 :

shell> cd /path/to/datadir

shell> ln -s db1 db2

现在,在 db1 中的表 tbl_a,也会在 db2 中出现。如果有一个客户端要更新 db1.tbl_a 而另一个要更新 db1.tbl_a,这时就会出问题了。

如果确实需要这么做,那么就修改一个源文件。要修改的文件根据MySQL版本不同而不同。MySQL 4.0或更新,在 `mysys/my_symlink.c' 文件中找到以下语句:

if (!(MyFlags & MY_RESOLVE_LINK) ||

(!lstat(filename,&stat_buff) && S_ISLNK(stat_buff.st_mode)))

MySQL 4.0以前,在 `mysys/mf_format.c' 文件中找到如下语句:

if (flag & 32 || (!lstat(to,&stat_buff) && S_ISLNK(stat_buff.st_mode)))

然后把这个语句改成:

if (1)

在Windows上,在编译MySQL时使用选项 -DUSE_SYMDIR 就能内置支持目录符号链接。这可以让你把不同的数据库放到不同的磁盘上。

1.2 在 Unix 上符号链接数据表

举报

  • 相关推荐
  • AI驱动全域进化,金仓数据库以“融合”重构数据基座

    7月15日,电科金仓在京举办"融合进化+智领未来"主题产品发布会,推出多款AI时代数据库产品:KES V92025融合数据库具备多语法体系兼容、多集群架构等特性,性能提升30%;KEMCC统一管控平台实现跨云环境数据库管理;云数据库AI版集成高性能硬件与AI大模型;KFS Ultra智能数据集成平台支持百种数据源。中国人民大学教授王珊指出,数据库与AI深度结合已成释放数据价值关�

  • O域核心!金仓数据库支撑海南移动核心故障管理系统升级上线

    中国移动海南公司成功升级国产化核心故障管理系统"O域",采用金仓数据库技术支持。该系统创新构建五位一体监控体系,实现故障处理效率指数级提升。通过全栈国产化突破,采用分布式数据核心架构,实现99.999%高可用性和毫秒级响应。在2024年超强台风"摩羯"登陆期间,系统凭借同城双中心灾备架构稳定运行,保障了通信命脉。金仓数据库通过PLSQL优化、固定缓冲池等核心技术,使系统性能显著提升:告警分析速度提升450%,拓朴查询效率跃升644%,历史数据清理效率提高7倍,存储空间降低12%。

  • 万里数据库GreatDB亮相上合组织数字经济论坛 与哈萨克斯坦人工智能发展协会签署合作协议

    2025年7月11日,上海合作组织数字经济论坛在天津开幕。论坛由国家数据局与天津市政府联合主办,丁薛祥副总 理出席并致辞。会上,万里数据库与哈萨克斯坦人工智能发展协会签署合作协议,推出GreatDB上合版数据库产品。该产品具有安全可信、生态兼容、高性能等优势,是中国首个进入上合框架的标准化数据库产品。论坛汇聚600余位中外政要、企业代表和专家学者,共商数�

  • 金仓数据库26周年|淬火砺重器,万里再扬帆

    金仓数据库26年发展历程:从萨师煊教授70年代引入数据库概念,到王珊教授团队1999年创立金仓公司实现产业化突破,见证了中国数据库从无到有的发展。金仓坚持自主创新,打造KES融合数据库产品体系,拥有700多项专利,服务金融、能源等国家重点行业,装机量超百万套。公司构建产学研生态,培养数万名专业人才,推动国产数据库生态建设。站在新起点,金仓将继续以自主可控技术支撑千行百业数字化转型,助力数字中国建设。

  • 忆联 Docker+MySQL 流控方案:打造安全高效存储底座,释放 AI 极致性能

    文章探讨了在AI时代背景下,基于Docker部署MySQL数据库的高效解决方案。通过Docker容器化技术,MySQL实现了灵活部署、资源高效利用和稳定隔离性,成为AI应用的首选数据库方案。测试结果显示,采用PCIe5.0企业级SSD配合Namespace技术和QoS优化策略,能精准控制性能偏差在2%以内,在混合读写场景下更可控制在1%以内。该方案显著提升了存储资源管理效率,为AI应用提供稳定可靠的数据存储支持,同时降低企业TCO成本,推动数据价值释放。

  • 最新AI模型哪里看?8个国内优质AI模型库与获取渠道盘点

    文章探讨大模型API价格战背景下,开源模型+本地微调成为降本增效的新趋势。当前典型工作流已转变为:GitHub找代码→Hugging Face找权重→国内镜像站下载→本地/云端微调。模型库成为生产链起点而非单纯资源站。建议从三个维度筛选模型:1)协议类型决定商用权限;2)框架兼容性避免格式转换;3)场景标签匹配度节省检索时间。推荐8个国内优质模型获取渠道,包括AIbase(2.3万+模型)、阿里ModelScope(社区活跃)、百度EasyDL(零代码友好)等,各平台在电商、语音、交通等垂直领域各有优势。最后给出快速检索建议:商用需求优先查协议,垂直场景找专业平台,追踪更新可订阅RSS。

  • 硬盘丢失了数据怎么恢复?硬盘数据恢复的6种方法

    文章分析了硬盘数据丢失的常见原因及恢复方法。数据丢失主要源于人为误操作、硬件故障、软件系统问题和环境因素四类。针对不同情况,介绍了6种恢复方法:回收站还原、系统版本回退、备份还原、Mac系统的TimeMachine、命令行操作以及专业数据恢复软件。其中专业软件如转转大师能深度扫描硬盘,支持多种文件格式恢复,操作简便且成功率高。文章强调数据丢失后应避免写入操作,根据实际情况选择合适恢复方式,并建议做好日常备份预防数据丢失。

  • 还在搜“最新AI产品”?这个AI产品库让你领先99%的人!

    文章介绍AIbase产品库,这是一个专注于AI工具导航的平台。它通过每日更新全球最新AI产品、精准分类(如写作、绘画、视频生成等)、多维度筛选(价格、功能、平台)和真实用户评价,帮助用户高效发现优质AI工具。平台覆盖办公提效、创意设计、编程开发等场景,解决信息过载问题,让用户能快速找到适合自己需求的AI解决方案。

  • AIbase完整评测:20,000+AI工具库深度解析

    AIbase是一个强大的AI工具导航平台,收录超过2万个AI工具并每日更新。它通过智能搜索、精准分类和用户友好界面,帮助开发者、设计师、营销人员和普通用户快速找到适合的AI工具。平台提供写作助手、视频编辑、代码生成等各类工具,并支持多语言访问。AIbase的核心优势在于庞大的数据库和高效更新机制,解决了用户在AI工具海洋中筛选的痛点。虽然存在用户深度评价不足�

  • AIbase完整评测:20,382+AI工具库背后的秘密

    AIbase.com是一个强大的AI工具发现平台,拥有超过20,382个AI工具的庞大数据库,每日持续更新。平台通过智能搜索和15+分类体系(如AI写作、视频编辑、代码生成等)帮助用户快速定位所需工具。作者通过实际案例展示了AIbase如何提升工作效率300%,包括快速找到社交媒体文案生成器、视频编辑工具和代码生成器等。平台优势在于工具数量庞大、分类精准、搜索高效,但也存在用户