> 데이터 베이스 > MySQL 튜토리얼 > MySQL 设置变量的副作用

MySQL 设置变量的副作用

WBOY
풀어 주다: 2016-06-07 17:42:13
원래의
1146명이 탐색했습니다.

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

。)

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

如果查询必须使用一个更大的排序缓存才能比较好地执行,可以在查询执行前增加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” 博客,请务必保留此出处

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿