当前位置:Gxlcms > 数据库问题 > Mysql优化-和分析查询explain

Mysql优化-和分析查询explain

时间:2021-07-01 10:21:17 帮助过:15人阅读

建表同时建立唯一索引(可以是单或多)

CREATE TABLE t_user2(id INT ,
userName VARCHAR(20),
PASSWORD VARCHAR(20),
UNIQUE INDEX index_userName(userName) #关键字UNIQUE和INDEX
);

建表同时建立联合索引

CREATE TABLE t_user3(id INT ,
userName VARCHAR(20),
PASSWORD VARCHAR(20),
INDEX index_userName_password(userName,PASSWORD)
);

给已存在表添加索引

    • 单列索引
      CREATE INDEX index_userName ON t_user(userName);
    • 唯一索引
      CREATE UNIQUE INDEX index_userName ON t_user(userName);
    • 联合索引
      CREATE INDEX index_userName_password ON t_user(userName,PASSWORD);

 

对MySQL语句性能优化的16条经验

① 为查询缓存优化查询
② EXPLAIN 我们的SELECT查询(可以查看执行的行数)
③ 当只要一行数据时使用LIMIT 1
④ 为搜索字段建立索引
⑤ 在Join表的时候使用相当类型的列,并将其索引
⑥ 千万不要 ORDER BY RAND  ()
⑦ 避免SELECT *
⑧ 永远为每张表设置一个ID
⑨ 可以使用ENUM 而不要VARCHAR
⑩ 尽可能的使用NOT NULL
? 固定长度的表会更快
? 垂直分割
? 拆分打的DELETE或INSERT语句
? 越小的列会越快
? 选择正确的存储引擎
? 小心 "永久链接"
https://blog.csdn.net/u013087513/article/details/77899412

分析查询explain

https://www.cnblogs.com/xuanzhi201111/p/4175635.html

https://www.cnblogs.com/xuanzhi201111/p/4175635.html

 

类型如下

4技术图片

 

1 explain 之id

技术图片

 

 2 explain 之select_type

见下:https://www.jianshu.com/p/ea3fc71fdc45

 

Mysql优化-和分析查询explain

标签:csdn   垂直   username   run   拆分   arc   www   use   class   

人气教程排行