使用top命令,查看那些进程cpu标高 mysql cpu很高
问题一般在两方面:1.配置文件2.sql优化(建立索引)
将mysql的当前环境变量输出到文件output.txt
D:webmysql>mysql.exe --help > output.txt
查看tmp_table_size等配置项(临时表内存)
修改my.ini重启
在服务器上执行mysql -u root -p之后,输入show full processlist; 可以看到正在执行的语句。
explain select ename,hiredate,sal from emp where sal=1000(执行时间长的语句) \G;
看一下走没有索引,
show index from emp(表名) \G 查看表结构看是否有索引
有:就是语句原因导致没走索引 (如果以错误的方式使用,则即使建立索引也会不奏效)
- 对于使用 like 的查询,后面如果是常量并且只有%号不在第一个字符,索引才可能会被使用:
- 对于创建的多列索引,只要查询的条件中用到了最左边的列,索引一般就会被使用
没有就去在需要的字段上创建索引:对于创建索引时如果是blob 和 text 类型,必须指定length。建立索引方法01.create index idx_sal(别名) on emp(表名)(sal(字段名)) online (online是在线建立索引避免锁表)
02.ALTER TABLE score(表名) ADD INDEX id(索引别名) (id(字段名));