网站地图 | 联系我们 | 咨询热线:0991-4811639
您现在的位置: 新疆二域设计网络公司 >> 网页设计学院 >> 数据库 >> Mysql数据库 >> 正文
导读

   数据库性能优化涉及到系统硬件和软件的方方面面,本文讨论的主要是编译和配置优化、服务器参数调整、如何选用合适的表类型,以及如何用数据库内建的命令辅助分析和优化性能,特别是如何用EXPLAIN辅助优化查询的性能。 原文出处:http://www.devshed.com/Server_Side/MySQL/Optimize/

   许多新手往往把重新编译源代码看成是一种无可避免的灾祸,其实编译源代码还能对程序的最终性能起到显著的影响。编译过程可以用不同流水线上装配同样型号的汽车比拟:第一条流水线由素质较低的工人操作,装配程序未能尽善尽美,零件装配误差较大;第二条流水线由高素质的技术工人操作,汽车装配程序合理,且利用最好的工具保证产品的高质量。虽然两条流水线上装配出来的汽车外观一模一样,但两种汽车的性能表现却可能大不相同。对于编译器来说情况也完全相似,有些编译器装配出来的程序要比其他编译器的更好。

   编译时考虑所有可用的选项也是极其重要的。很可能某些编译器的默认选项值不能符合要求,或者,为了满足应用的特定需求,我们需要指定一些特殊的编译选项。正如MySQL文档所指出的,只要采用了更好的编译器或者使用更合理的编译选项,应用性能的提高程度可以达到10-30%。

   既然如此,编译时具体应该注意哪些问题才能让MySQL数据库运行得更快呢?

   ▲ 使用pgcc编译器

   如果系统使用的是奔腾处理器,那么pgcc(Pentium GCC)正是为这些系统下运行的程序提供的专用编译器。pgcc是gcc编译器(http://www.gnu.org/software/gcc/)的奔腾优化版,用pgcc编译MySQL代码可以让整体性能提高10%以上!关于pgcc的更多信息,请参见http://www.goof.com/pcg/。当然,如果系统使用的不是奔腾处理器,采用这种方法提高MySQL的运行速度就不合适了,因为正如其名字所示,pgcc是专门为奔腾系统提供的。

   ▲ 把mysqld编译成静态模式

   以不带共享库的形式编译mysqld同样可以提高性能。在配置行加入下面这个选项可以将mysqld编译成静态模式:


% >./configure -with-mysqld-ldflags=-all-static [--其他配置选项]




   ▲ 配置示例

   下面的配置命令经常用于提高MySQL的性能:

% >CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6
-mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=/usr/local --enable-assembler --with-mysqld-ldflags=-all-static
--disable-shared

   详细解释每个gcc选项的作用已经超出了本文的范围,请访问gcc的说明文档了解这些信息(http://gcc.gnu.org/)。注意不要拘泥于这个例子,请在命令行执行man gcc仔细了解每一个gcc选项的含义。

作者:佚名 | 文章来源:不详 | 更新时间:2007/5/4 23:17:38

  • 上一篇文章:

  • 下一篇文章:
  • 相关文章:
    层次型和关系型、基因组序列数据库的分别
    mysql调用存储引擎讲解
    从授权方式和成熟性等来探讨不使用MySQL的理由
    MySQL怎样优化WHERE子句
    MYSQL失败出错代码列表
    浅谈数据库的攻击
    如何将图片储存在MySQL数据库里?
    使用MySQL内建复制功能来最佳化可用性
    如何恢复MYSQL的ROOT口令
    MySQL服务器的启动与停止

    色彩理念
    网页制作
    美工图形
    网络编程
    数 据 库
    网站运营
    ::最近更新::
    ·快速掌握Ora-00600 4194错…
    ·mysql调用存储引擎讲解
    ·MyISAM表的静态格式存储
    ·mysql 4.1的FOUND_ROWS()函…
    ·从授权方式和成熟性等来探…
    ·MySQL双向加密和单项加密函…
    ·将MySQL服务添加到Windows…
    ·MySQL怎样优化WHERE子句
    ·MySQL的数据类型和建库策略
    ·MySQL数据库函数详解2
    ·MySQL数据库函数1
    ·MySQL服务器的启动和关闭
    ·Linux下建立Mysql镜像数据…
    ·MYSQL失败出错代码列表
    ·Mysql日期和时间函数
    ::推荐阅读::
    ·MySQL数据导入与导出
    ·MySQL的安装与使用
    ·如何恢复MYSQL的ROOT口令
    ·如何把ACCESS的数据导入到…
    ·快速修复mysql数据库
    ·MYSQL如何存取二进制文件
    ·从一个MysqL的例子来学习查…

    关于我们 | 网站建设 | 服务帮助 | 联系我们 | 网页设计学院 | 实用工具 | 友情链接 | 新疆专题
    版权所有 © 2007 新疆二域设计网络公司 www.xjcncn.com All Rights Reserved
    网站建设总机:0991-4811639、6587518 传真:0991-4842803 ;咨询热线:13999201770. E-mail:xjcncn@gmail.com
    MSN :xjcncn@hotmail.com ; QQ:359312 ;地址:新疆乌鲁木齐市北京路华联大厦A座5楼 邮编:830000