大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> MySQL -> MySQL优化简明指南

MySQL优化简明指南

时间: 2021-08-13 作者:daque

一、在编写翻译时优化mysql 即使你从源代码散发安置mysql,要提防,编写翻译进程对此后的目的步调本能有要害的感化,各别的编写翻译办法大概获得一致的目的文献,但本能大概出入很大,所以,在编写翻译安置mysql符合提防按照你的运用典型采用最大概好的编写翻译选项。这种定制的mysql不妨为你的运用供给最好本能。 本领:采用较好的编写翻译器和较好的编写翻译器选项,如许运用可普及本能10-30%。(mysql文书档案如是说) 1.1、运用pgcc(pentium gcc)编写翻译器 该编写翻译器(http://www.goof.com/pcg/)对准运转在奔驰处置器体例上的步调举行优化,用pgcc编写翻译mysql源代码,总体本能可普及10%。固然即使你的效劳器不是用奔驰处置器,就不用用它了,由于它是专为奔驰体例安排的。 1.2、仅运用你想运用的字符集编写翻译mysql mysql暂时供给多达24种各别的字符集,为寰球用户以她们本人的谈话插入或察看表中的数据。却省情景下,mysql安置一切者那些字符集,热但是,最佳的采用是指采用一种你须要的。如,遏止除latin1字符集除外的一切其它字符集: -------------------------------------------------------------------------------- %>./configure -with-extra-charsets=none [--other-configuration-options] -------------------------------------------------------------------------------- 1.3、将mysqld编写翻译成静态实行文献 将mysqld编写翻译成静态实行文献而无需共享库也能赢得更好的本能。经过在摆设时指定下列选项,可静态编写翻译mysqld。 -------------------------------------------------------------------------------- %>./configure -with-mysqld-ldflags=-all-static [--other-configuration-options] -------------------------------------------------------------------------------- 1.4、摆设样品 下列摆设吩咐常用来普及本能: -------------------------------------------------------------------------------- %>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 --------------------------------------------------------------------------------

二、安排效劳器 保证应用精确的编写翻译纵然要害,但这不过胜利的第一步,摆设稠密的mysql变量同样对效劳器的平常运转起要害效率。你不妨将那些变量的赋值生存一个摆设文献中,以保证它们在历次启用mysql时均起效率,这个摆设文献即是my.cnf文献。 mysql仍旧供给了几个my.cnf文献的样品,可在/usr/local/mysqld/share/mysql/目次下找到。那些文献辨别定名为my-small.cnf、 my-medium.cnf、my-large.cnf和my-huge.cnf,范围证明可在刻画摆设文献实用的体例典型题目中找到。即使在惟有十分少外存的体例上运转mysql,并且不过偶然的用一下,那么my-small.cnf会比拟理念,由于它吩咐mysqld只运用最少的资源。一致地,即使你安置建立电子商务超级市场,并且体例具有2g外存,那么你大概要用到mysql-huge.cnf文献了。 为了运用那些文献中的一个,你须要复制一个最符合需要的文献,更名为my.cnf。你不妨采用运用摆设文献三种效率范畴的一种: global:将my.cnf文献复制到效劳器的/etc目次下,这使得摆设文献中的变量效率于全部,即对一切效劳器上的mysql数据库效劳器灵验。 local:将my.cnf文献复制到[mysql-install-dir]/var/目次下,使得my.cnf效率于一定的效劳器。[mysql-install-dir]表白mysql安置目次。 user:你不妨再控制效率于一定的用户,将my.cnf复制到用户的根目次下。 毕竟怎样树立my.cnf中的那些变量呢?更进一步说,你不妨树立哪一个变量。固然所用变量对mysql效劳器对立通用,每一个变量与mysql的的某些组件有更一定的联系。如变量max_connects归在mysqld类型下。实行下列吩咐即可领会: -------------------------------------------------------------------------------- %>/usr/local/mysql/libexec/mysqld --help -------------------------------------------------------------------------------- 它表露洪量的选项及与mysqld关系的变量。你不妨很简单地在该行笔墨之下找到变量: -------------------------------------------------------------------------------- possible variables for option --set-variable (-o) are -------------------------------------------------------------------------------- 而后你不妨如次树立my.cnf中的那些变量: -------------------------------------------------------------------------------- set-variable = max_connections=100 -------------------------------------------------------------------------------- 它树立mysql效劳器的最大并发贯穿数为100。要保证在my.cnf文献中的[mysqld]题目下插入变量树立。

[page_break]三、表典型 很多mysql用户大概很诧异,mysql真实为用户供给5种各别的表典型,称为dbd、heap、isam、merge和myiasm。dbd归为工作安定类,而其余为非工作安定类。 3.1、工作安定 dbd berkeley db(dbd)表是扶助工作处置的表,由sleepycat软硬件公司(http://www.sleepycat.com)开拓。它供给mysql用户憧憬已久的功效-工作遏制。工作遏制在任何数据库体例中都是一个极有价格的功效,由于它们保证一组吩咐能胜利地实行。 3.2、非工作安定 heap heap表是mysql中存取数据最快的表。这是由于她们运用保存在动静外存中的一个哈希索引。另一个重心是即使mysql或效劳器解体,数据将丧失。 isam isam表是早期mysql本子的缺省表典型,直到myiasm开拓出来。倡导不要再运用它。 merge merge是一个风趣的新典型,在3.23.25之后展示。一个merge表本质上是一个沟通myisam表的汇合,兼并成一个表,主假如为了功效因为。如许不妨普及速率、探求功效、建设功效并俭朴磁盘空间。 myiasm 这是mysql的缺省表典型。它鉴于iasm代码,但有很多有效的扩充。myiasm比拟好的因为: myiasm表小于iasm表,以是运用较少资源。 myiasm表在各别的平台上二进制层可移植。 更大的键码尺寸,更大的键码下限。 3.3、指定表典型 你可在创造表时指定表的典型。下例创造一个heap表: -------------------------------------------------------------------------------- mysql>create table email_addresses type=heap ( ->email char(55) not null, ->name char(30) not null, ->primary key(email) ); -------------------------------------------------------------------------------- bdb表须要少许摆设处事,拜见http://www.mysql.com/doc/b/d/bdb_overview.html。 3.4、更多的表典型 为了使mysql处置处事更风趣,行将颁布的mysql 4.0将供给两种新的表典型,称为innobase和gemeni。 4、优化东西 mysql效劳器自己供给了几条内置吩咐用来扶助优化。 4.1、show 你大概有爱好领会mysql效劳器毕竟更了什么,下列吩咐给出一个归纳: -------------------------------------------------------------------------------- mysql>show status; -------------------------------------------------------------------------------- 它给出了一个十分长的状况变量及其值的列表。有些变量包括了特殊中断存户的数目、特殊中断贯穿的数目、贯穿试验的度数、最大并发贯穿数和洪量其余有效的消息。那些消息对找到体例题目和低效极具价格。 show还能做更多的工作。它不妨表露对于日记文献、特定命据库、表、索引、过程和权力表中有价格的消息。详见mysql画册。 4.2、explain 当你面临select语句时,explain证明select吩咐怎样被处置。这不只对确定能否该当减少一个索引,并且对确定一个搀杂的join怎样被mysql处置都是有扶助的。 4.3、optimize optimize语句承诺你回复空间和兼并数据文献碎片,对包括变长行的表举行了洪量革新和简略后,如许做更加要害。optimize暂时只处事于myiasm和bdb表。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.