当前位置:首页 > 日记 > 正文

MySQL数据库优化的具体方法

MySQL数据库优化的具体方法
以下文章主要介绍mysql数据库优化的实现方法,简单实用,包括如何分析和检查周期表,以及如何正确地进行常规表优化,下面是一个描述的程序,希望能对以后的学习有所帮助。

1。表格和核对表的定期分析

分析表的语法如下所示:

复制代码如下:分析当地no_write_to_binlog } { } { tbl_name |表tb1_name…

上面的语句用于分析和存储表的密钥分发。分析结果将使系统得到准确的统计信息,从而可以生成正确的SQL执行计划。如果用户觉得实际执行计划是不是预期的执行计划,分析表的执行可能会解决问题。在分析过程中,一个读锁用于锁定表。这对MyISAM,DBD是有用的,而InnoDB表。

例如,对数据表的分析

复制代码代码如下:table_name分析表

清单的语法如下所示:
复制代码如下:检查表tb1_name tbl_name {,}…{选项}…选择= {快速介质扩展| | | |改变}

检查列表的功能是检查一个或多个表是否有错误。检查表对MyISAM和InnoDB表的影响。对于MyISAM表,关键词统计更新。

检查表还可以检查视图中是否存在错误,如视图定义中引用的表不存在。
2。周期优化表

优化表的语法如下所示:

复制代码如下:优化{当地no_write_to_binlog }表tb1_name | { tbl_name }…

如果你删除表中的很大一部分,或者如果您有包含可变长度列表做出更多的改变(包括含VARCHAR,BLOB或文本列的表),你应该使用OPTIMIZE TABLE命令来优化表。此命令可以合并的空间碎片在桌子上,和消除删除或更新造成的空间的浪费,但表命令的优化只能在MyISAM,BDB和InnoDB表。

例如,table_name优化表
注意:分析、检查和优化将在执行期间锁定表。因此,MySQL数据库不忙时,必须注意执行相关操作。

常见的SQL优化

SQL语句我们经常使用我们开发的是插入,查询,等等。我们如何优化这些SQL语句

1。批量插入数据

当数据与加载命令一起导入时,适当的设置可以提高导入的速度。
对于MyISAM存储引擎的表,你可以快速大量进口以下数据

复制代码代码如下所示:
修改表tb1_name禁用按键;
加载数据
修改表tb1_name使钥匙;

禁用键,使键用于打开或关闭的MyISAM表的非唯一索引更新。当你输入大量的数据到一个非空的MyISAM表,你可以通过设置这两个命令提高输入效率。
进口大量的数据到一个空的MyISAM表时,默认的是将数据导入,然后创建索引,而索引不需要设置。

复制代码如下:LOAD DATA INFILE ' / / / text_txt'into家MySQL表格文本

对于InnoDB类型的表,这种方法并不能提高输入数据的效率,但也有优化InnoDB类型表的几种方法。

1、由于InnoDB表类型存储在主键的顺序,所以进口数据的主键排序,可有效提高输入数据的效率。

2、执行unique_checks = 0在导入数据,关闭唯一性检查,执行导入结束后设置unique_checks = 1,和恢复性检查,可以提高输入效率。

3,如果应用程序使用自动提交,建议执行自动提交= 0进口前,关闭自动提交,执行设置自动提交= 1的进口结束后,打开自动提交,同时提高进口效率。

优化INSERT语句

在进行数据插入时,可以考虑以下方法进行优化

1、如果同时插入来自一个客户机的大量行,请尝试使用多值表的INSERT语句。这种方式将大大减少链接的消耗,并在客户端和MySQL数据库之间关闭,使效率比单独执行的单独插入语句更快。

例如:
复制代码代码如下所示:
插入测试值(1,2)
插入测试值(3,4)
插入测试值(5,6)

变化三句以上:插入测试值(1,2),(3,4),(5,6)…

2。如果插入来自不同客户的大量行,可以使用INSERT延迟语句获得更高的速度。

意思是立即延迟INSERT语句,事实上的数据在队列中的记忆,并没有真正写入磁盘,每个语句的比例分别插入更快low_priority;相反,在所有其他用户在看完前插入。

三.将索引文件和数据文件存储在不同磁盘上

4。如果批量插入行的bulk_insert_buffer_size变量的值可以被添加以提高速度,但这只能用于MyISAM表。

5。当一个表是一个文本文件加载,加载数据文件使用。这通常比许多INSERT语句快约20倍。

下面是其他一些要注意MySQL性能优化的地方,你可以结合并充分发挥mysql的性能。
MySQL数据库查询优化
MySQL优化全策略相关数据库命令
为my.ini MySQL数据库中多站压缩优化2G内存

相关文章

金山村软件投资9000万美元投资9.98

金山村软件投资9000万美元投资9.98

迅雷,金山村,电脑软件,万美元,4月3日消息,金山村软件发布公告称,将投资9000万美元投资迅雷,交易完成后,金山村将获得3193万9600股迅雷系列E优先股,优先股对E的霹雳系列发行总数的29.03%。如果所有的迅雷优先股转换为普通股,金山村将有9.98%发行的…

如何改变在win7的字体大小

如何改变在win7的字体大小

字体大小,电脑软件,点评:有时我们无法看到的win7系统默认字体,以为我们可以改变系统默认的字体。 有时候,我们看不见的win7系统默认字体,我们认为我们可以改变系统的默认字体。和方式win7更改字体更简单。今天,我将解释如何win7改变字体的大小。…

nanosleep之间的差异()()()的Linux下的睡

nanosleep之间的差异()()()的Linux下的睡

差异,电脑软件,nanosleep,Linux,点评:睡眠()和()nanosleep都唤醒了一段时间的睡眠后,但两者是完全不同的。 在用户程序中休眠: 睡眠() Usleep() Nanosleep() 睡眠()和()nanosleep都唤醒了一段时间的睡眠后,但两者的实现是完全不同的。 Linux没有提供系统调…

PHP实现的封装验证码类详细解决方

PHP实现的封装验证码类详细解决方

封装,解决方案,验证码,详细,电脑软件,用PHP编写一个验证代码类并封装它。 课程名称:validationcode.class.php 代码如下: 复制代码代码如下所示: 类validationcode { 私人宽度; 私人身高; 画布的大小; 私有$图像; 私人disturbcolornum美元; 私人$…

hpzstatn.exe的功能是什么该hpzsta

hpzstatn.exe的功能是什么该hpzsta

查询,功能,过程,电脑软件,hpzstatn,点评:hpzstatn.exe是HP的HP打印机的硬件驱动程序 进程文件:hpzstatn或hpzstatn.exe 进程名称:HP Deskjet任务栏实用 过程类别:安全风险的过程 英文描述: hpzstatn.exe是一个过程,属于HP Deskjet任务栏工具是…

win7鼠标移动到桌面和显示桌面不响

win7鼠标移动到桌面和显示桌面不响

显示桌面,鼠标移动,桌面,响应,电脑软件,点评:win7任务栏最右边的部分,默认情况下,如果你移动鼠标在win7桌面右下方的桌面上,等待大约0.5秒钟的时间,你可以暂时显示桌面。如果您没有出现,请按照以下方法解决。 为什么鼠标移动到显示桌面,没有响应 …

它会移动的移动版!三大平台

它会移动的移动版!三大平台

平台,三大,它会,电脑软件,它是一个经典的音乐播放器,以专注的态度、精湛的技术,简单的界面,赢得了众多的粉丝,但在最近几年有点停滞不前,尤其是在国内市场,除了少量的忠诚,也敌不过那些华丽的XX音乐。 但现在,它已准备好重新开始,开放移动时代,而进…

后装Win8,电脑屏幕模糊,分辨率不能调

后装Win8,电脑屏幕模糊,分辨率不能调

分辨率,调整,模糊,电脑屏幕,电脑软件,问题: 在一小部分用户安装Win8系统,显示屏幕变得模糊。结果发现,屏幕分辨率太低,无法调整分辨率。 答案uff1a 安装Win8的计算机后,上述现象,由于Win8.1系统默认的显卡驱动兼容性差,更新显卡驱动。 Win8更新…

下载速度慢不限于下载速度(解决方案

下载速度慢不限于下载速度(解决方案

下载速度,解决方案,下载,速度慢,电脑软件,问题: 我用诺拉已经两年了,而且曾经很好。现在下载速度很慢,也可以根据Nora论坛提供的解决方案来解决。下载新版本,添加优先级,到官方网站,看电影,网络测试等等。不,不是像Nora一定要打雷,不是VIP会员限制…

PHPjson_decode功能详细分析

PHPjson_decode功能详细分析

功能,详细,电脑软件,PHPjson_decode,1。功能简介 1,这个函数有四个参数,一般在前两个使用中使用,具体参数可以在手册中看到。 2,第一个参数是JSON格式字符串,第二个参数是布尔值(false被转换为对象,真的被转换成数组,默认为false),如果转换失败,返回n…

通过PHP引用地址更改变量值的问题

通过PHP引用地址更改变量值的问题

引用,地址,变量值,电脑软件,PHP,复制代码代码如下所示: $ foo =鲍勃'; / /鲍勃分配给变量$foo $ bar = $; $; 美元=我的名字是$ ; $栏; 还修改了 > 输出: 鲍勃 我叫鲍伯。 我叫鲍伯。 我们看到,在引用和赋值之后,原始值实际上被修改了,但是在赋值…

关掉Fedora8不需要的服务

关掉Fedora8不需要的服务

服务,不需要,电脑软件,注释:单击系统管理服务。如果你不想下次启动服务,在服务前的基。 consolekit fedota的新功能,如果你想使用这个新功能,把它关掉,关掉它。 Anacron ATD crond 这是一些调试程序的后台服务,和一般的桌面用户可以Anacron,一 …