mysql优化相关

逆范式:1对多的时候应当尽可能的把冗余放在1那边

show status

show variables

关心以com开头的命令 show status like 'com%'

show session status like 'com_select';  //本次会话
show global status like 'com_select';    //从启动到现在

show Connections   试图连接数据库的次数

show global status like 'uptime';  服务器启动时间

________________________________________慢查询

show global status like 'slow_queries';  //查看慢查询次数,默认是十秒

show variables like 'long_query_time';//查看慢查询设置 默认10s

//设置慢查询时间(本次有效)
set long_query_time = 1;

my.ini最后增加

  log-slow-queries = D:\wamp\mysql_slow_query.log
  long_query_time=5

linux下注意写权限的问题

  show variables like '%slow%';
  执行结果会把是否开启慢查询、慢查询的秒数、慢查询日志等信息打印在屏幕上。

 SELECT SLEEP(10);//测试下慢查询

 

导入大量数据时最好禁用索引

alter table table_name  disable keys;                    alter table table_name  enable keys;

 

查看见表SQL:
show create table table_name;


对于 myisam数据库,需要定时清理
optimize table 表名

用连接代替子查询
使用join,mysql不需要在内存中国年创建临时表

如果想要 or 用到索引则,or的条件必须都加索引


在精度要求较高的项目中,用定点数来来保存,以保证准确性


查看索引的使用情况
show status like 'handler_read';

handler_read_key:  高了好
handler_read_rnd_next: 低了好

 

 

 

 

 

你可能感兴趣的:(mysql优化)