视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
影响数据库性能的MySQL变量
2020-11-09 08:07:55 责编:小采
文档


欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 MySQL系统变量中有哪些会影响到数据库的性能呢?下面就为您列举了一些影响数据库性能的MySQL系统变量,希望可以让您对MySQL系统变量有更深的了解。 bulk_insert_buffer_size 批量插入缓存大小, 这个

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  MySQL系统变量中有哪些会影响到数据库的性能呢?下面就为您列举了一些影响数据库性能的MySQL系统变量,希望可以让您对MySQL系统变量有更深的了解。

  bulk_insert_buffer_size

  批量插入缓存大小, 这个参数是针对MyISAM存储引擎来说的。适用于在一次性插入100-1000+条记录时, 提高效率。默认值是8M.可以针对数据量的大小,翻倍增加。

  concurrent_insert

  并发插入, 当表没有空洞(删除过记录), 在某进程获取读锁的情况下,其他进程可以在表尾部进行插入。

  值可以设0不允许并发插入1,当表没有空洞时,执行并发插入2,不管是否有空洞都执行并发插入。

  默认是1.针对表的删除频率来设置。

  delay_key_write

  针对MyISAM存储引擎,延迟更新索引。意思是说,update记录时,先将数据up到磁盘,但不up索引,将索引存在内存里,当表关闭时,将内存索引,写到磁盘。 值为 0不开启, 1开启。 默认开启。

  delayed_insert_limit, delayed_insert_timeout, delayed_queue_size

  延迟插入,将数据先交给内存队列,然后慢慢地插入。但是这些配置,不是所有的存储引擎都支持,目前来看, 常用的InnoDB不支持,MyISAM支持。根据实际情况调大,一般默认够用了。

  expire_logs_days

  自动删除超过指定天数的日志。建议为0,表示"不自动删除".

  flush, flush_time

  是否启用,同步表数据到磁盘。以及自动同步的间隔时间。

  针对flush_time,官方建议只在Windows 9x或Me,或有最小资源的系统中使用该选项。所以,建议关闭。

  ft_boolean_syntax, ft_max_word_len, ft_min_word_len,ft_query_expansion_limit, ft_stopword_file

  针对MyISAM设置的参数,全文搜索特性。如果你不使用 FULLTEXT 索引,就不需要优化了。详见mysql参考手册。

  join_buffer_size

  用于表间关联(join)的缓存大小。建议设为 131072.(128K)

  key_buffer_size

  索引块缓存区大小,针对MyISAM存储引擎,该值越大,性能越好。但是超过操作系统能承受的最大值,反而会使mysql变得不稳定。

  如果不是MyISAM存储引擎,一般设置为 4-32M大小。

  key_cache_age_threshold, key_cache_block_size, key_cache_division_limit

  键值缓存的相关设置。需要针对实际情况调优。只是针对MyISAM储存引擎。

  large_pages

  是否启动大页面支持。意思是,可以一些缓存分配更大的空间。这个特性已经被InnoDB, MyISAM等常用存储引擎支持。

  low_priority_updates

  低优先级更新。意思是,所有的写操作(表写锁),包括update,delete,insert等都需要等待读操作完成后才执行 (表读锁解开)。

  因为是针对表的锁,所以,这里仅支持MyISAM.

  max_write_lock_count

  最大写锁数量。这个变量的含义是,当写锁达到一定数量后,就不读锁,允许一部分读锁进入。(可以读数据了,否则需要等待写锁释放后,才能读)

  因为是针对表的锁,所以,这里仅支持MyISAM.

  preload_buffer_size

  重载索引时分配的缓冲区大小,该变量仅支持MyISAM.

  read_buffer_size, read_rnd_buffer_size

  每个线程连续扫描时为扫描的每个表分配的缓冲区的大小(字节)。如果进行多次连续扫描,可能需要增加该值, 默认值为131072.

  sort_buffer_size

  每个排序线程分配的缓冲区的大小。增加该值可以加快ORDER BY或GROUP BY操作。默认数值是2097144(2M),建议加大到 16777208 (16M)。

  timed_mutexes

  显示mutexes的统计信息,默认关闭OFF

  tmp_table_size

  临时表的大小,在未超过大小之前进行的操作是在内存中的,当超过后,mysql会自动转换到硬盘上。

下载本文
显示全文
专题