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

MySQL数据插入优化方法

MySQL数据插入优化方法
一般来说,读写操作是串行的,在MyISAM,但当我们在同一个表的查询和插入操作,以减少锁竞争的频率,根据concurrent_insert设定,MyISAM可以并行处理查询和插入。

并发插入时不允许concurrent_insert = 0。
当concurrent_insert = 1,并发插入,允许一台无孔,和新的数据位于数据文件结束(默认)。
当concurrent_insert = 2,表是否有洞或不是,它是可以被插入在数据文件结束。

在这种方式中,它是集concurrent_insert 2很划算。至于所得到的文件片段,可以使用优化表语法来定期优化。

max_write_lock_count:

默认情况下,写操作的优先级高于读操作的优先级。即使读请求首先发送,发送的请求将被首先处理,然后读取请求将被处理一次。这就产生了一个问题:当我发出请求,我会阻止所有的阅读需求,直到我完成处理所有的请求。在这一点上,你可以考虑使用max_write_lock_count:

max_write_lock_count = 1

有了这个设置,当系统处理写操作时,就暂停了写操作,并给出了执行读操作的机会。

低优先级更新:

我们也可以更清晰,直接降低写操作的优先级,并给予读操作更高的优先级。

低优先级更新= 1

一般来说,concurrent_insert = 2是绝对推荐。作为max_write_lock_count = 1和低优先级更新= 1,这要视情况而定。如果你能降低写操作的优先级,使用低优先级更新= 1,否则使用max_write_lock_count = 1。
设置变量= max_allowed_packet = 1m
设置变量= net_buffer_length = 2k
在MyISAM发动机

1,尝试将数据插入插入形成table_name值(…),(…)。避免使用嵌入table_name值();嵌入table_name值();

2增加bulk_insert_buffer_size(默认8M)

3如果它是一个非空表,使用ALTER TABLE table_name禁用按键,然后加载数据文件,并在执行导入数据:

修改表table_name使钥匙。不如果是一张空桌子需要此操作,因为MyISAM表进口数据首先建立指标时,进口数据为空表。

4,当我们插入数据时,我们需要考虑使用:插入延迟…从而使实际的mysql可以把插入操作放入队列中,并进行相对集中的插入,这是更快的。

5。使用LOAD DATA INFILE比使用INSERT操作速度快了近20倍,并使用此操作尽可能。
在InnoDB引擎

1。在导入数据,执行unique_checks = 0禁止的唯一指标的检测,并运行设置unique_checks = 1。数据导入完成后

2。在导入数据,执行foreign_key_checks = 0禁止外部重点检查,然后执行foreign_key_checks = 1。数据导入完成后

3、设置自动提交= 0禁止自动导入数据自动交易前提交。数据导入完成后,将自动提交= 1恢复自动提交操作。

使用InnoDB引擎表的物理存储是存储在PK的秩序。禁用按键,像MyISAM一样,不能使用

在硬件上改进磁盘I/0非常适合插入速度。因此,如果完成大数据的导入和导出,请尝试比较NB上的硬件,这样可以减少完成时间并防止问题的发生。
当一个线程在一个表上执行一个延迟语句时,如果没有这样的处理程序,就会创建一个处理器线程来处理表的所有延迟语句。
线程检查处理程序是否有延迟锁;如果没有,它告诉处理程序获取它。即使其他线程在表上有读或写锁,它们也可以得到延迟锁。但是,处理程序将等待所有的表锁或刷新表,以确保表结构是最新的。
线程执行INSERT语句,但不会将行写入表中,并将最后一行的副本放入由处理器线程管理的队列中。
客户可以不报告的结果行重复或auto_increment值数;它不能从服务器得到回报,因为插入的插入操作之前完成。如果你使用C API,同样的原因,这mysql_info()函数不返回任何有意义的。
插入到处理器线程更新更新日志中。在多行插入的情况下,更新日志在第一行插入时更新。
在写每一delayed_insert_limit线,处理器检查是否有任何SELECT语句还未完成。如果是的话,在执行之前允许执行这些语句。
当处理器没有在队列更多的行,表锁定。如果新插入延迟命令内没有收到delayed_insert_timeout秒,处理器终止。
如果超过delayed_queue_size行没有特定的处理器队列解决,线程等待队列有空间。这有助于确保mysqld服务器没有延迟的内存队列使用的所有记忆。
处理器的线程将在命令列的MySQL进程表显示delayed_insert。如果执行FLUSH TABLES命令或杀死它杀死thread_id,它会被杀死。但是,在进入表之前,它将首先保存所有排队的行。在此期间,这一次它不会接受来自其他线程的任何新的插入命令。如果执行延迟后插入的命令,将创建一个新的处理器线程。
注意,这意味着如果插入延迟处理器已经运行,则插入延迟命令的优先级比普通插入的优先级要高!其他更新命令要等到插入延迟队列是空的,杀死处理器线程(杀死thread_id)或执行FLUSH TABLES。
以下状态变量提供有关延迟插入命令的信息:delayed_insert_threads处理器线程数
那delayed_writes写延迟插入的行数
not_flushed_delayed_rows等待线数要写

相关文章

Word2003如何重命名样式

Word2003如何重命名样式

重命名,样式,电脑软件,Word2003中,我们经常需要重命名的方式,且操作简单,但这是正确的方法去做!只需要六步就可以了。 1,在工具菜单上,单击模板和加载项;。 2、点击管理器按钮。 3,点击样式标签。 4,在左边的中间;在框中,单击重命名的条目,然后单击重命…

这个过程ebrr过程的作用是什么作用

这个过程ebrr过程的作用是什么作用

作用,过程,电脑软件,ebrr,exe,点评:ebrr.exe是爱普生爱普生打印机相关程序 进程文件:ebrr或ebrr.exe 进程名称:爱普生双向请求路由器(ebrr) 过程类别:安全风险的过程 英文描述: ebrr.exe是爱普生打印机相关的过程。对于双向沟通,双向的,它也被称为…

Win8总是自动删除/破碎的计算机空

Win8总是自动删除/破碎的计算机空

删除,闲时,电脑软件,win8系统的计算机,空闲时间长一点,宽带会自动下降,即断网。对于这个问题,一个小小的设置可以解决。 方法uff1a 1,打开>;控制面板;-点击网络和共享中心;。 2、双击左上;更改适配器设置选项。 3,找到宽带连接;右键点击选择属性菜…

关注京东网民减少服务或主要原因

关注京东网民减少服务或主要原因

网民,服务,主要原因,京东,电脑软件,近日,记者通过赛迪网全球流量统计机构Alexa发现,京东商城在6月18日流走上高路,在回头,把春节前流槽游览一天,景东大约是去年同一水平的8,九月。 通过对京东商城历史流量曲线的Alexa查询,我们可以看到,到2011年底,…

pavsrv51是pavsrv51.exe-使用

pavsrv51是pavsrv51.exe-使用

电脑软件,exe,点评:pavsrv51.exe是熊猫卫士的防毒杀毒软件包的一部分 进程文件:pavsrv51或pavsrv51.exe 工艺名称:熊猫防病毒白金组件 过程类别:安全风险的过程 英文描述: pavsrv51.exe是一个过程,属于熊猫杀毒软件保护您的计算机免受互联网威…

如何在WIN7系统并创建拨号连接

如何在WIN7系统并创建拨号连接

系统,拨号连接,如何在,电脑软件,评论:你如何创建一个拨号连接,当你开始使用Win7系统的朋友吗本文提供了一个详细的教程,帮助您共享操作步骤。 首先,打开控制面板,选择网络和共享中心; 二、选择在网络和共享中心;建立新的连接或网络; 三,选择是连接到…

在ThinkPHP的实例模型方法的不同描

在ThinkPHP的实例模型方法的不同描

模型,描述方法,方法,描述,实例,在TP中,我们可以使用以下两种方法来创建一个数据表的映射对象(我暂时使用) 第一种:$测试= D(测试) 第二种:$测试=新模型(测试) 虽然这两种数据可以进行选择、插入、删除和更新操作,数据验证,有很大的差别。 让我们从效果…

在Linux下使用shell文本处理工具包

在Linux下使用shell文本处理工具包

文本处理,电脑软件,Linux,shell,评论:Linux的操作习惯不同于Windows,它可以通过windows操作。它由许多不同的命令组成。 在Linux的操作习惯与Windows有一个窗口进行操作,它是一个很大的不同,本文将介绍最常用的文字处理工具,使用Linux下的shell:…

尾递归使用的详细说明

尾递归使用的详细说明

尾递归,详细说明,电脑软件,最近几天,我看到了几篇关于尾递归的文章,以前没有关于尾递归的大概念,所以我回顾了尾递归。 尾递归概念 尾递归的概念(尾递归)是递归的一个子概念。普通递归的调用堆栈的使用是不可估量的因为需要记住的递归调用堆栈。…

winservs.exe的过程是怎样的

winservs.exe的过程是怎样的

的是,过程,是怎样,电脑软件,winservs,评论:对winservs.exe工艺简介 进程文件:winservs或winservs.exe 进程名称:winservs 过程类别:安全风险的过程 英文描述: winservs.exe是软件声称可以扫描您的硬盘驱动器执行成人内容。它被分为广告软件在…

一种linux下对发射器的固定方法

一种linux下对发射器的固定方法

方法,发射器,电脑软件,linux,点评:linux下的一些绿色软件,没有安装可以双击启动,但有些程序直接在启动器锁中打开,选择按钮会用到一些默认的图标,通常如果符合大众审美的趋势的话,不应该认为它很漂亮。 Linux的一些绿色软件,无需安装可以双击启动,…

如何用excel作为条形码自动更新条

如何用excel作为条形码自动更新条

条码,解决方案,自动更新,条形码,如何用,问题: 领导者用excel制作产品条形码,当产品号被修改时,条码可以自动更新。如何解决这个问题 答案uff1a 是的,首先,请参阅下面的方法,在Excel中选择条形码控件,然后在设置数据源时将条形码与商品编号联系起…