Chinaunix首页 | 论坛 | 博客
  • 博客访问: 161215
  • 博文数量: 171
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1990
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-05 10:49
文章分类

全部博文(171)

文章存档

2011年(9)

2010年(162)

我的朋友

分类: Oracle

2010-09-10 15:36:25

1 查看mysqld 变量的值

mysqladmin -uroot -p123456 variables

或连接到数据库时使用

mysql>show variables

2查看mysql的状态

mysqladmin extended-status

或连接到数据库时使用

mysql>show status

以上两步以确定是否要修改table_cache,key_buffer_size

3 查看线程任务

mysqladmin processlist

4 查看查询语句的状态

select distinct arts.a_id,arts.headlinel,nartsect.se_id,arts.mdate,arts.set

以上两步以确定连接太多的问题,还有运行缓慢的查询语句,一些复杂的连接语句不可避免地会严重地影响了性能的最优化

5 delayed_queue_size 的值如果被设置成默认值1000,这意味着1000个超时的语句将排队等待之后,客启程序将不再被释放,也只能等待,例如insert delayed在你系统几乎在同一时刻产生了大量的插入语句,并且发现即使使用语句insert delayed,客户程序仍旧需要等待,你就应该增加delayed_queue_size的值

6 当连接请求达到back_log的限定值,任何更多的请求将被排进队列而不是被拒绝,就应该增加back_log值,如果请求数量是稳定的,系统忙,就该考虑系统的问题了

7 sort_buffer变量能够加快myisamchk的运算速度,如果你通常做许多排序运算(如经常在大表中使用order by语句),改用sort_buffer是很有帮助的,配置文件my_huge.cnf(1 g内存的系统)默认sort_buffer对myisamchk使用256M内存,但如果有很多同时(注意指的是同时)发生的连接在执行从句order by,由于每个连接都被分配了一个变量sort_buffer,会出现内存问题

8 为了让表innodb运行稳定,最重要的是变量innodb_data_file_path,它用来指定表(数据和索引)可获得的空间,

它给文件配大小,应该让最后一个数据文件自动扩展(也只有最后一个数据能这样做)以容纳额外的数据,例:

innodb_data_file_path=/disk1/ibdata1:500M;/disk2/ibdata2:50M:autoextend

当数据在disk1\ibdata1中达到500M的限定值时,此后的数据将被放入disk2\ibdata2中,一旦达到disk2\ibdata2中50M的限制ibdata2将自动以8M的程序块进行扩展,如果disk2的物理空间满,则需要增加disk3,为了让改变生效,需要重新启动服务器。

9 在mysql4。0。3版本之后,可以服务器动行的同时,改变变量值,但是,set语句在默认状态所做的变化只影响当前session,即当你下一次连接的时候,变量仍然使用配置文件指定的设置,如果指定global关键字,所有的新的连接将使用新的值,然而重启服务器时,仍然使用配置文件中指定的值,同时你需要有super权限

例:mysql> set session max_sort_length=2048;

    mysql> set max_sort_length=2048;

(这两句的结果是相同的)

    mysql> set @@local.max_sort_lenth=2048;(@@语法用来与其它数据库管理系统(DBMS)进行兼容)

   

如果你决定回去使用旧的值,可以使用default关键字恢复global为配置文件中的值,例:

mysql> set session max_sort_length=default;

mysql> set globle max_sort_length=default;

阅读(274) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~