设为首页 收藏本站
查看: 1386|回复: 0

[经验分享] mysql 索引和事务、视图

[复制链接]

尚未签到

发表于 2018-10-4 14:17:09 | 显示全部楼层 |阅读模式
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,数据库索引就好比好比是一本书全面的目录。

索引分5类


  • 普通索引,这是最基本的索引类型,而且他没有唯一性之类的限制。
  • 唯一性索引,这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值只能出现一次,即必须唯一。
  • 主键索引,主键是一种唯一性索引,该索引要求主键中的每个值都唯一,不允许为空。
  • 全文索引,索引类型为FULLTEXT,全文索引可以在CHAR、VARCHAR或者TEXT类型的列上创建。
  • 单列索引和多列索引,索引可以在单列上创建的索引,也可以在多列上创建的索引。多列索引可以区分其中一列可能有相同值的行。
    创建索引方法

    1.创建普通索引,命令格式是:
  

CREATE INDEX  ON tablename (列的列表);  

2.创建唯一索引,命令格式是:
  

CREATE UNIQUE INDEX   
ON tablename(列的列表);
  

3.创建主键索引,有两种方式,一种是在创建表的同时创建主键,主键索引自动创建,命令格式如下:
  

CREATE TABLE tablename ([....],PRIMARY KEY(列的列表));  

另一种是已经创建了表,没有指定主键,然后修改表加入主键,主键索引会自动创建,命令格式如下:
  

ALTER TABLE tablename ADD PRIMARY KEY(列的列表);  

4.创建表示指定或修改表时指定全文索引,命令格式如下:
  

CREATE TABLE 表名 (列名 TEXT,FULLTEXT(列名));  

5.创建多列索引,命令格式如下:
  

CREATE INDEX 多列索引名字 ON 列名_列名;  

6.查询索引:
  

SHOW INDEX FROM 表名 \G;  

  key_name 对应的是索引名字。Non_unique 对应值是1,表示不是唯一性索引,对应值为0,表示是唯一性索引。

7.删除索引:
  

DROP INDEX 索引名 from 表名;  

事务:一组操作共同执行或者都不执行,结果保持一致。

事务的四大特性:


  • 原子性:不可分割,视为一个整体。
  • 一致性:前后结果保持一致。
  • 隔离性:对数据进行修改的所有并发事务是彼此隔离的,表示事务是独立的,不应以任何方式依赖或影响其他事务。
  • 持久性:一旦执行成功,不可逆转,数据永久变更。
    Mysql中使用命令控制事务需要用到3个命令:

    • begin :表示开始一个事务,后面会有多条数据库操作语句执行。
    • commit:表示提交一个事务,对应前面的begin操作,他们之间的数据库操作语句一起完成。
    • rollback:表示回滚一个事务,在begin和commit之间,如果某一个数据库操作语句出现错误,执行rollback回滚,数据库回到begin之前的状态。
      视图:数据库中的虚拟表,一张或者多表中的数据给不同权限用户提供访问。

      1.创建一个查询结果的视图:

  

CREATE VIEW 视图名 AS SELECT * FROM 表名 条件(where score>80);  

2.查看视图:
  

SELECT * FROM 视图名;  

3.删除一个视图:
  

DROP VIEW IF EXISTS 视图名;  

  IF EXISTS 参数指判断视图是否存在,如果存在则执行,不存在则不执行。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-611917-1-1.html 上篇帖子: MySQL高可用的几种方案 下篇帖子: Mysql 数据库用户密码管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表