mysql 视图 索引_mysql不走索引的情况

mysql 视图 索引_mysql不走索引的情况mysql 索引和事务、视图

大家好,又见面了,我是你们的朋友全栈君。

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,数据库索引就好比好比是一本书全面的目录。

索引分5类

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

    创建索引方法

    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 表名;

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

事务的四大特性:

  1. 原子性:不可分割,视为一个整体。
  2. 一致性:前后结果保持一致。
  3. 隔离性:对数据进行修改的所有并发事务是彼此隔离的,表示事务是独立的,不应以任何方式依赖或影响其他事务。
  4. 持久性:一旦执行成功,不可逆转,数据永久变更。
    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 参数指判断视图是否存在,如果存在则执行,不存在则不执行。

转载于:https://blog.51cto.com/13777111/2165500

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107340.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vim的复制粘贴命令_vim编辑器常用命令

    vim的复制粘贴命令_vim编辑器常用命令接触linux操作系统之后使用vi/vim编辑器用的就比较多,其实vi/vim编辑文件特别方便,但是一些常见的指令模式下的命令确很容易忘,特别是复制剪切粘贴经常忘,所以小结下以后查用起来比较方便。1.复制剪切粘贴撤销复制:复制一行则:yy复制三行则:3yy,即从当前光标+下两行。复制当前光标所在的位置到行尾:y$复制当前光标所在的位置到行首:y^剪切:剪切一行:dd前切三

    2022年9月22日
    2
  • css3 flex布局的使用 图片文字垂直居中排列 图文混排垂直居中 display:flex「建议收藏」

    css3 flex布局的使用 图片文字垂直居中排列 图文混排垂直居中 display:flex「建议收藏」遇到的问题在实际工作的过程中经常遇到图片文字的混排,需要图片与一段文字垂直居中,这个实现方法以前一直非常复杂,而flex是解决这个问题比较好的办法;css代码display:flex;flex的是Flexible的缩写,意为弹性。可以在单行或者多行的盒状模型中提供很好的灵活性,所以它也是自适应友好的。图文混排垂直居中基本用法用flex实现文字和图片在同一行的时候的垂…

    2022年6月9日
    101
  • win10系统下pycharm2017配置opencv-python3.4.5[通俗易懂]

    win10系统下pycharm2017配置opencv-python3.4.5[通俗易懂]1.首先打开Pycharm,点击文件-设置-项目-projectinterpreter,查看python版本,我的显示是3.6.8,如下图:2.打开opencv-python官网,下载对应版本的opencv-python,如下图:3.点击win+R,输入cmd,即打开了命令窗口,由于我给pycharm配置的解释器是用anaconda装的,所以我需要把opencv-python安装…

    2022年8月26日
    3
  • linux同时启动两个Tomcat[通俗易懂]

    linux同时启动两个Tomcat[通俗易懂]编辑环境变量:vim/etc/profile 在文件末尾复制粘贴即可##########firsttomcat###########CATALINA_BASE=/opt/tomcatCATALINA_HOME=/opt/tomcatTOMCAT_HOME=/opt/tomcatexportCATALINA_BASECATALINA_HOMETOMCAT_HO

    2022年6月16日
    58
  • 讨论JDK的File.equal()

    讨论JDK的File.equal()

    2022年1月17日
    38
  • 什么软件可以测试网络的稳定性,网络稳定性测试软件

    什么软件可以测试网络的稳定性,网络稳定性测试软件@ECHOoffcolor0Aecho欢迎进行网络稳定状况测试(测试开始时间%date%%time%)echo=======================================================================echo运行脚本后不要关闭这个窗口,让它一直测试你的网络,不想测试了需手动关闭echo当你老掉线的时候运行本脚本,建议测试时间在30分钟左…

    2025年10月10日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号