什么叫索引:排好序的快速查找数据结构
适合创建索引的情况:
1.主键自动建立唯一索引
2.频繁作为查询条件的字段应该创建索引
3.查询中与其它表关联的字段,外键关系建立索引
4. Where条件里用不到的字段不创建索引
5.单键/组合索引的选择问题,who?(在高并发下倾向创建组合索引)
6.查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度
7.查询中统计或者分组字段
不适合创建索引的情况
1.表数据太少
2.频繁更新的字段不适合创建索引o因为每次更新不单单是更新了记录还会更新索公
3.某个字段存在很多重复的,比如 性别,状态,等
explain 查看sql的新能:
ID解释:
1:id相同,执行顺序由上至下
2:id不同,如果是子查询,id的序号会递增,
3:id值越大优先级越高,越先被执行了id相同不同,同时存在R
select_type解释:
SIMPLE
PRIMARY
SUBQUERY
DERIUED
UNION
UNION RESULl
type解释:
显示查询使用了何种类型,从最好到最差依次是:
system>const>eq _ref>ref>range>index>ALL
心
进入usr/local下执行
1 |
|
[linux]centos7下解决yum install mysql-server没有可用包
第一步:安装
从网上下载文件的wget命令
1 |
|
第二步:下载mysql的repo源
1 |
|
第三步:安装mysql-community-release-el7-5.noarch.rpm包
1 |
|
第四步:查看下
1 |
|
/etc/yum.repos.d/mysql-community.repo/etc/yum.repos.d/mysql-community-source.repo
会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
第五步:安装mysql
1 |
|
第六步:进入mysql root 开启远程访问
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
2、实现远程连接(授权法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
1 2 3 4 5 6 7 |
// ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 |
可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | |
| root | localhost.localdomain | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | localhost.localdomain | |
| root | % | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 |
+------+-----------------------+-------------------------------------------+
3、实现远程连接(改表法)
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
这样在远端就可以通过root用户访问Mysql.
修改密码:
1、依次执行
>use mysql
>update user set password=password("新密码") where user="root";
>flush privileges;
>exit
卸载mysql linux
https://www.cnblogs.com/javahr/p/9245443.html