mysql数据库优化必会的几个参数中文解释

2016-02-19 10:29 5 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的mysql数据库优化必会的几个参数中文解释教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

第一步:
1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是----用多个硬盘,或者把数据分散存储.

 2:硬盘的读写速度,这个速度非常的快,这个更容易解决--可以从多个硬盘上并行读写.

 3:cpu.cpu处理内存中的数据,当有相对内存较小的表时,这是最常见的限制因素.

 4:内存的限制.当cpu需要超出适合cpu缓存的数据时,缓存的带宽就成了内存的一个瓶颈---不过现在内存大的惊人,一般不会出现这个问题.

 第二步: (本人使用的是学校网站的linux平台(Linux ADVX.Mandrakesoft.com 2.4.3-19mdk ))

 1:调节服务器参数

  用shellmysqld-help这个命令声厂一张所有mysql选项和可配置变量的表.输出以下信息:

  possible variables for option--set-variable(-o) are:

  back_log current value:5 //要求mysql能有的连接数量.back_log指出在mysql暂停接受连接的时间内有多少个连接请求可以被存在堆栈中

  connect_timeout current value:5 //mysql服务器在用bad handshake(不好翻译)应答前等待一个连接的时间

  delayed_insert_timeout current value:200 //一个insert delayed在终止前等待insert的时间

  delayed_insert_limit current value:50 //insert delayed处理器将检查是否有任何select语句未执行,如果有,继续前执行这些语句

  delayed_queue_size current value:1000 //为insert delayed分配多大的队

  flush_time current value:0 //如果被设置为非0,那么每个flush_time 时间,所有表都被关闭

  interactive_timeout current value:28800 //服务器在关上它之前在洋交互连接上等待的时间

  join_buffer_size current value:131072 //用与全部连接的缓冲区大小

  key_buffer_size current value:1048540 //用语索引块的缓冲区的大小,增加它可以更好的处理索引

  lower_case_table_names current value:0 //

  long_query_time current value:10 //如果一个查询所用时间大于此时间,slow_queried计数将增加

  max_allowed_packet current value:1048576 //一个包的大小

  max_connections current value:300 //允许同时连接的数量

  max_connect_errors current value:10 //如果有多于该数量的中断连接,将阻止进一步的连接,可以用flush hosts来解决

  max_delayed_threads current value:15 //可以启动的处理insert delayed的数量

  max_heap_table_size current value:16777216 //

  max_join_size current value:4294967295 //允许读取的连接的数量

  max_sort_length current value:1024 //在排序blob或者text时使用的字节数量

  max_tmp_tables current value:32 //一个连接同时打开的临时表的数量

  max_write_lock_count current value:4294967295 //指定一个值(通常很小)来启动mysqld,使得在一定数量的write锁定之后出现read锁定

  net_buffer_length current value:16384 //通信缓冲区的大小--在查询时被重置为该大小

  query_buffer_size current value:0 //查询时缓冲区大小

  record_buffer current value:131072 //每个顺序扫描的连接为其扫描的每张表分配的缓冲区的大小

  sort_buffer current value:2097116 //每个进行排序的连接分配的缓冲区的大小

  table_cache current value:64 //为所有连接打开的表的数量

  thread_concurrency current value:10 //

  tmp_table_size current value:1048576 //临时表的大小

  thread_stack current value:131072 //每个线程的大小

  wait_timeout current value:28800 //服务器在关闭它3之前的一个连接上等待的时间

  根据自己的需要配置以上信息会对你帮助

来源:https://www.tulaoshi.com/n/20160219/1594830.html

延伸阅读
在 MySQL下,在进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,却没有a字符存在。本人以前也曾遇到过类似问题,经详细阅读MySQL的Manual,发现可以有一种方法很方便的解决并得到满意的结果。 希望通过“标题”对新闻库进行检索,关键字可能包含是中英文,如下SQL语句: 以下为引...
据说这是高手优化的MySQL,供大家参考,其中连接数: max_connections=1500可以根据服务器的性能更改. #set-variable=connect_timeout=5 #set-variable=wait_timeout=5 建议启用,负担重的服务器可以适当减少持续连接时间 [mysqld] basedir=D:/mysql #bind-address=ip datadir=D:/mysql/data #language=D:/mysql/...
innodb表正好相反;行级锁表 互联网服务,不算支付性的服务外,互动产品,新闻系统等等一般都是读多,写少。用myisam表比较合适。 表的设计 定长表:所有列的字段长度都是定长的。可以去查mysql的手册不定长字段是VARCHAR、BLOB或TEXT。int char都是定长的,定长表占用空间会大。 动态表:就是字段不是都定长的。 定长表要比动态表检索速度快...
标签: Web开发
目前web2.0的程序,很大瓶颈是数据库的吞度量。不过,如何才能确定系统的瓶颈是数据库呢,因为只有确定数据库是整个系统的瓶颈,我们才有必要去优化他,毕竟,还有这么多需求等待我们去做。 如何确定数据库是瓶颈? 1 如果程序设计良好,有一个数据库操作逻辑层,可以从这个层的统计数据看到每个请求花费的时间,如果平均时间已...
标签: MySQL mysql数据库
在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。有时,正是MySQL管理员造成破坏。管理员已经知道表已破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事! 备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(...

经验教程

129

收藏

100
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部