码迷,mamicode.com
首页 > 数据库 > 详细

Mysql优化

时间:2018-03-02 18:52:49      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:性能   not   class   read   oss   帐号   数据   查询缓存   tps   

① 为查询缓存优化查询

② EXPLAIN 我们的SELECT查询(可以查看执行的行数)

③ 当只要一行数据时使用LIMIT 1

④ 为搜索字段建立索引

⑤ 在Join表的时候使用相当类型的列,并将其索引

⑥ 千万不要 ORDER BY RAND  ()

⑦ 避免SELECT *

⑧ 永远为每张表设置一个ID

⑨ 可以使用ENUM 而不要VARCHAR

⑩ 尽可能的使用NOT NULL

? 固定长度的表会更快

? 垂直分割

? 拆分打的DELETE或INSERT语句

? 越小的列会越快

? 选择正确的存储引擎

? 小心 "永久链接"

 

Explain 性能分析:

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句

技术分享图片

possible_keys:查询可能使用到的索引都会在这里列出来

key:查询真正使用到的索引,select_type为index_merge时,这里可能出现两个以上的索引,其他的select_type这里只会出现一个。

参考:https://www.cnblogs.com/xiaoboluo768/p/5400990.html

show processlist命令:

show processlist和show full processlist

processlist命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。

如果是root帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到自己占用的连接。showprocesslist只能列出当前100条。如果想全部列出,可以使用SHOW FULL PROCESSLIST命令

 

show processlist

技术分享图片

KILL thread_id语句终止一个线程

 技术分享图片

再show processlist

技术分享图片

 

Mysql优化

标签:性能   not   class   read   oss   帐号   数据   查询缓存   tps   

原文地址:https://www.cnblogs.com/stanljj/p/8494218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!