一、怎么处理MySQL的慢查询?
  1、开启慢查询日志,准确定位到哪个sql语句出现了问题
  2、分析sql语句,看看是否load了额外的数据,可能是查询了多余的行并且抛弃掉了,可能是加载了许多结果中并不需要的列,对语句进行分析以及重写
  3、分析语句的执行计划,然后获得其使用索引的情况,之后修改语句或者修改索引,使得语句可以尽可能的命中索引
  4、如果对语句的优化已经无法进行,可以考虑表中的数据量是否太大,如果是的话可以进行横向或者纵向的分表。
二、索引的设计原则有哪些?
  在进行索引设计的时候,应该保证索引字段占用的空间越小越好,这只是一个大的方向,还有一些细节点需要注意下:
  1、适合索引的列是出现在where字句中的列,或者连接子句中指定的列

  2、基数较小的表,索引效果差,没必要创建索引
  3、在选择索引列的时候,越短越好,可以指定某些列的一部分,没必要用全部字段的值

  4、不要给表中的每一个字段都创建索引,并不是索引越多越好
  5、定义有外键的数据列一定要创建索引
  6、更新频繁的字段不要有索引
  7、创建索引的列不要过多,可以创建组合索引,但是组合索引的列的个数不建议太多
  8、大文本、大对象不要创建索引



posted on 2022-08-02 08:03  山与月  阅读(69)  评论(0编辑  收藏  举报