MYSQL查询优化技巧

mysql5的手册中提到,插入一条记录,所需的时间比例大概是:

  • 连接:(3)
  • 发送查询给服务器:(2)
  • 分析查询:(2)
  • 插入记录:(1x记录大小)
  • 插入索引:(1x索引)
  • 关闭:(1)

并且表的大小以logN(B树)的速度减慢索引的插入,因此提高插入速度的方法大概有以下7种:

1.一个insert语句包含多个value值;

2.使用insert delayed方法;

3.使用insert into …values(select…from),即select的同时执行insert;

4.使用load data infile;

5.先禁掉索引,插入后再创建索引;

6.写锁表,插入,解锁。原因是索引缓存区仅在所有insert语句完成后才刷新到磁盘上一次;

7.增加key_buffer_size值来扩大键高速缓冲区。