1)使用show variables 了解服务器参数
2)show status 了解服务器运行状态,如锁等待情况,当前连接数等
3)影响mysql性能的重要参数:
key_buffer_size设置索引块的缓存大小:key_buffer_size是对MyISAM表性能影响最大的一个参数
通过:
mysql> show global status like 'key_read%';
+-------------------+------------+
| Variable_name | Value |
+-------------------+------------+
| Key_read_requests | 3465117712 |
| Key_reads | 624 |
+-------------------+------------+
实战范例1
用户分表,将用户库分成若干数据表
基于用户名的查询和基于uid的查询都是高并发请求。
用户分表基于uid分成数据表,同时基于用户名做对应冗余表。
如果允许多方式登陆,可以有如下设计方法
nuid,passwd,用户信息等等,主数据表,基于uid分表
nukey,ukeytype,uid基于ukey分表,便于用户登陆的查询。分解成如下两个SQL。
uselect uid from ulist_key_13 where ukey=’$username’ and ukeytype=‘login’;
uselect * from ulist_uid_23 where uid=$uid and passwd=’$passwd’;
nukeytype定义用户的登陆依据,比如用户名,手机号,邮件地址,网站昵称等。Ukey+ukeytype 必须唯一。
n此种方式需要登陆密码统一,对于第三方connect接入模式,可以通过引申额外字段完成。