关闭

mysql优化之insert/delete/update

标签: mysql
1032人阅读 评论(0) 收藏 举报
分类:

加快插入操作的方法:

1、  同时从同一个客户端插入很多行,使用含有多个VALUE的INSERT语句同时插入多行,比使用单行INSERT语句一次插一行快。如果向一个非空表添加数据,可以调节bulk_insert_buffer_size变量,使数据插入更快。

2、  从不同的客户端插入很多行,通过INSERT DELAYED语句加快速度。

3、  用MyISAM,如果在表中没有删除的行,能在SELECT语句正在运行的同时插入行。

4、  当从一个文本文件装载一个表时,适用LOAD DATA INFILE ,比使用很多INSERT语句快20倍。

5、  锁定表可以加速用多个语句执行的INSERT操作:LOCK TABLES a WRITE; INSERT INTO a VALUES…; INSERT INTO a VALUES…;…UNLOCK TABLES;

这样性能会提升,因为索引缓存区仅在所有INSERT语句完成后刷新到磁盘上一次。否则,有多少INSERT语句就要有多少索引缓存区的刷新。如果能用一个语句插入所有的行,就不要锁定。 

 

加快更新的方法:

update更新查询的优化同select查询一样,但需要额外的写开销。写的速度依赖更新的数据大小和更新的索引的数量。所以,锁定表,同时做多个更新比一次做一个快得多。

 

加快删除的方法:

删除一个记录的时

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

mysql大表更新sql的优化策略

问题sql背景:项目有6个表的要根据pid字段要写入对应的brand_id字段。但是这个其中有两个表是千万级别的。我的worker运行之后,线上的mysql主从同步立刻延迟了!运行了一个多小时之后,居...
  • bruce128
  • bruce128
  • 2013-12-19 21:38
  • 10463

Python进阶(三十一)-往MySQL数据库里添加数据,update和insert哪个效率高

Python进阶(三十一)-往MySQL数据库里添加数据,update和insert哪个效率高  在编写“Water Spider”过程中,遇到了批量更新数据的情况。自己刚开始时想使用mysql提供的...
  • sunhuaqiang1
  • sunhuaqiang1
  • 2017-04-06 16:36
  • 42332

MSSQL、MySQL 数据库删除大批量千万级百万级数据的优化

SQL Server上面删除1.6亿条记录,不能用Truncate(因为只是删除其中少部分数据)。 经过实验,每次删除400万条要花1.5 - 3小时,而且是越到后面越慢,正常的话,需要大约10...
  • gao1440156051
  • gao1440156051
  • 2016-08-29 20:24
  • 8484

C++使用Mysql的详细步骤及各个常用方法的代码演示:select,insert,update,delete

1.mysql的初始化initConnection:1)mysql_init():初始化数据库2)mysql_real_connect()(不推荐用Mysql_connect()):连接数据库详细代码...
  • Fouse_
  • Fouse_
  • 2017-08-02 14:49
  • 193

MySQL的Insert/replace/update/delete的几个使用方法

1.Insert的几种区别标准写法的用法: (1)Insert 同时插入多条记录     Insert into tab(col1,col2,col3) values(a1,a2,a3),(b1,...
  • weiqubo
  • weiqubo
  • 2012-04-01 16:42
  • 1803

针对MYSQL delete、update、insert语句误操作时的恢复办法

mysql 针对MYSQL delete、update、insert语句误操作(如update忘记加where条件) 目前还没有特别好的办法进行恢复,主要是根据binlog日志文件进行恢复,网上也有 ...
  • gzt19881123
  • gzt19881123
  • 2016-07-06 22:44
  • 539

MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

MySQL数据库insert和update语句 引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。言外之意,就是对数...
  • HackProgramer
  • HackProgramer
  • 2014-05-27 14:05
  • 281

JavaBean 实现Mysql数据库操作(Query、Insert、Delete、Update)

1、什么是JavaBean JavaBean是一种Java语言写成的可重用组件,JSP可以方便的支持Javabean的使用。用户将常用的功能写入JavaBean,当用户需要使用这些功...
  • sinat_27714067
  • sinat_27714067
  • 2016-10-27 17:25
  • 1548

mysql-insert,update,delete,replace基础

一、INSERT和REPLACE INSERT和REPLACE语句的功能都是向表中插入新的数据。这两条语句的语法类似。它们的主要区别是如何处理重复的数据。   1. INSERT的一般用法 M...
  • ff527272539
  • ff527272539
  • 2014-12-01 07:13
  • 198

mysql数据库insert、delete、update语句总结

1)DELETE语句语法 单表语法: DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name     [WHERE where_defini...
  • szq466028431
  • szq466028431
  • 2011-12-21 09:44
  • 11184
    个人资料
    • 访问:662385次
    • 积分:10785
    • 等级:
    • 排名:第1760名
    • 原创:387篇
    • 转载:601篇
    • 译文:1篇
    • 评论:29条
    最新评论