现在的位置: 首页 > 数据库 > 正文

影响数据库性能的MySQL系统变量有哪些

2020年05月08日 数据库 ⁄ 共 1953字 ⁄ 字号 评论关闭

  MySQL系统变量中有哪些会影响到数据库的性能呢?为您列举了一些影响数据库性能的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,官方建议只在Windows9x或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)

  影响数据库性能的MySQL系统变量有哪些

  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

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

  timed_mutexes

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

  tmp_table_size

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

  以上就是关于“影响数据库性能的MySQL系统变量有哪些”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.