zoukankan      html  css  js  c++  java
  • Mysql优化

    ① 为查询缓存优化查询

    ② 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

  • 相关阅读:
    computed的用法
    地址列表展开功能/默认选中功能
    简易编辑器
    用vue做todolist
    用vue做的购物车结算的功能
    如果数据返回没有那个字段,怎么加上去?
    vue中全局filter和局部filter怎么用?
    editorconfig
    eslint 配置
    react typescript 单元测试
  • 原文地址:https://www.cnblogs.com/stanljj/p/8494218.html
Copyright © 2011-2022 走看看