MySQL手册版本 5.0.20-MySQL优化(四) (1)(3)_PHP教程

WBOY
풀어 주다: 2016-07-13 17:03:23
원래의
976명이 탐색했습니다.



7.2.12 加速 INSERT


插入一条记录花费的时间由以下几个因素决定,后面的数字大致表示影响的比例:


连接:(3)


发送查询给服务器:(2)


解析查询:(2)


插入记录:(1 x 记录大小)


插入索引:(1 x 索引数量)


关闭:(1)


这里并没有考虑初始化时打开数据表的开销,因为每次运行查询只会做这么一次。


如果是 B-tree 索引的话,随着索引数量的增加,插入记录的速度以 log N 的比例下降。


可以使用以下几种方法来提高插入速度:


如果要在同一个客户端在同一时间内插入很多记录,可以使用 INSERT 语句附带有多个 VALUES 值。这种做法比使用单一值的 INSERT 语句快多了(在一些情况下比较快)。如果是往一个非空的数据表里增加记录,可以调整变量 bulk_insert_buffer_size 的值使之更快。详情请看"5.2.3 Server System Variables"。


如果要从不同的客户端中插入大量记录,使用 INSERT DELAYED 语句也可以提高速度。详情请看"14.1.4 INSERT Syntax"。


对 MyISAM 而言,可以在 SELECT 语句正在运行时插入记录,只要这时候没有正在删除记录。


想要将一个文本文件加载到数据表中,可以使用 LOAD DATA INFILE。这通常是使用大量 INSERT 语句的20倍。详情请看"14.1.5 LOAD DATA INFILE Syntax"。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/630976.htmlTechArticle7.2.12 加速 INSERT 插入一条记录花费的时间由以下几个因素决定,后面的数字大致表示影响的比例: 连接:(3) 发送查询给服务器:(2)...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿