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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHP服务器端API原理及示例讲解(接口开发)

    PHP服务器端API原理及示例讲解(接口开发)

    2021年10月18日
  • php取得json_decode中的值,php json decode-获取值[通俗易懂]

    php取得json_decode中的值,php json decode-获取值[通俗易懂]正如Danp已经说过的,返回的JSON包含在函数调用中(由jsoncallback=json)你不能完全摆脱这个,但是,只是用AreaSearch?jsoncallback=&lat=41.1131514&lng=-74.0437521至少删除json在字符串的开头,您可以通过以下方式除去括号:$json=trim(trim($json),”();”);给予:{items:[…

    2022年7月17日
  • 程序世界,平凡的我

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!昨天是2019年4月23日,这是一个什么日子呢? 如果我没有看日历的提醒,我其实也不忘记了这是什么日子。每一年的4月23日是世界读书日,世界读书日你读书了吗?昨天我是没有真正读书的,昨天下班比较晚,回到家吃饭洗漱完快十二点了,想着第二天还要上班,就睡觉了。今天刷CSDN看到征文活动: “征文|@程序员 你读过的书,…

    2022年2月28日
  • android listview去掉分割线

    android listview去掉分割线1》设置android:divider=”@null”2》android:divider=”#00000000″#00000000后面两个零表示透明3》.setDividerHeight(0)高度设为0

    2022年7月22日
  • 手机python3.0编程_pydroid安装lxml

    手机python3.0编程_pydroid安装lxml手机屏幕太少,写代码不方便,建议用电脑学习python有时候,就是不想正襟危坐的坐在电脑前面,想要在手机上轻量级的写点代码。安卓软件推荐Pydroid.3Pydroid3免费高级版…

    2022年8月12日
  • java jediscluster_【集群】JedisCluster 原理

    java jediscluster_【集群】JedisCluster 原理1.JedisCluster类结构JedisCluster是针对RedisCluster的java客户端,它封装了java访问redis集群的各种操作,包括初始化连接、请求重定向等。我们先来看下JedisCluster的类结构:JedisCluster初始化时,所有的集群连接信息都是封装在JedisClusterInfoCache里,由于jedis本身不是线程安全的,所以使用对象池JedisPo…

    2022年10月14日

发表回复

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

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