Home > Database > Mysql Tutorial > MySQL 设置变量的副作用

MySQL 设置变量的副作用

WBOY
Release: 2016-06-07 17:42:13
Original
1150 people have browsed it

动态设置变量可能导致意外的副作用,例如从缓冲中刷新脏块。务必小心那些可以在线更改的设置,因为它们可能导致数据库做大量的工作。有时可以通过名称推断一个变

。)

总的来说,设置很大的排序缓存代价可能非常高,所以除非确定必须要这么大,否则不要增加排序缓存的大小。

如果查询必须使用一个更大的排序缓存才能比较好地执行,可以在查询执行前增加sort_buffer_size的值,执行完成后恢复DEFAULT。

eg:

SET @@session.sort_buffer_size := ; #Execute the query SET @@session.sort_buffer_size := DEFAULT;

可以将类似的代码封在函数中以方便使用。其它可以设置的单个连接级别的变量有read_buffer_size,read_rnd_buffer_size,tmp_table_size,以及myisam_sort_buffer_size。

特别说明:本文章是来自的一章节。

个人感悟:理解可动态更改的变量产生的影响是蛮重要的,一不小心,可能导致负载飞一般的暴涨,CPU刷刷的飙升,香港虚拟主机,甚至宕机。

糗事:本人曾在线上数据库动态修改query_cache_szie的值,本来server的负载都40-50的样子啦,当时也不没考虑那么多,香港服务器租用,就直接改了,负载瞬间飙升到了200多,那个汗啊,,,

好的东西是拿出来分享的,香港空间,那样它就会更美!!!

本文出自 “Focus on the database” 博客,请务必保留此出处

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template