什么是索引 索引就像是一本书的目录一样,能够快速找到所需要的内容 索引的作用 加快查询速率,降低IO成本加快表与表之间的连接,减少分组和排序时间 索引类型 普通索引:没有唯一性的基本索引 唯一索引:有唯一性,但可以为空 主键索引:有唯一性且不能够为空 全文索引: 单列索引与多列索引 创建索引的依据 表的主键,外键必须有索引 数量超过300行的必须有索引 经常与其他表连接大表,在连接字段应该有索引 唯一性差,频繁更新的不适合建索引 将常出现在where字段的应该建索引 索引应该建在选择性高的小字段…
面试官: 我看你的简历上写着精通MySQL,问你个简单的问题,MySQL联合索引有什么特性? 心想,这还不简单,这不是问到我手心里了吗? 听我给你背一遍八股文! 我: MySQL联合索引遵循最左前缀匹配原则,即最左优先,查询的时候会优先匹配最左边的索引. 例如当我们在(a,b,c)三个字段上创建联合索引时,实际上是创建了三个索引,分别是(a).(a,b).(a,b,c). 查询条件中包含这些索引的时候,查询就会用到索引.例如下面的查询条件,就可以用到索引: select * from table…
mysql> desc student;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| ID | int(11) | NO | PRI | 0 | || NAME | varchar(16) | YES | | NULL | || A…
#进阶6: 连接查询 (多表连接) : 等值连接/非等值连接 /左右全连接/内连接 /* 含义: 当查询的字段来自于多个表时, 就会用到连接查询 一: sql 92标准 :等值连接 ,(#内连接) 1.可以为表区别名,区分多个重名的字段 2.为表使用别名后,只能使用别名去"select"! 二:非等值连接 1.where 列名 BETWEEN ... AND ... 三:自连接 :自己连接自己 四:左 / 右 外连接 1.应用场景: 用于查询一个表有内容,另一个表没有内容 如果从表中有…
转: 细说MySQL连接查询:内连.左连和右连 简介: MySQL 的连接查询,通常都是将来自两个或多个表的行结合起来,基于这些表之间的共同字段,进行数据的拼接.首先,要确定一个主表作为结果集,然后将其他表的行有选择 性的连接到选定的主表结果集上.使用较多的连接查询包括:内连接.左连接和右连接. 准备两张表做演示,这两张表必须要有相同的字段内容可匹配,这两张表是 id 和 bianhao 列 mysql> select * from a_player; +----+----------+----…
[索引] 帮助快速查询 MyISAM ,InnoDB支持btree索引 Memory 支持 btree和hash索引 存储引擎支持 每个表至少16个索引   总索引长度至少256字节   创建索引的优点: 1, 加快查询速度 2, 创建唯一索引来保证数据表中数据的唯一性 3,  实现数据的完整性 4, 实现数据的完整性,,加速表和表之间的连接, 5, 减少分组和排序的时间 索引的分类 1,唯一索引和普通索引 2,单列索引和组合索引最左前缀 3,全文索引 fulltext  在定义的索引的列上 可…
本文地址 分享提纲: 1.为查询缓存优化你的查询 2. EXPLAIN 你的 SELECT 查询 3. 当只要一行数据时使用 LIMIT 1 4. 为搜索字段建索引 5. 在Join表的时候使用相当类型的例,并将其索引 6. 千万不要 ORDER BY RAND() 7. 避免 SELECT * 8. 永远为每张表设置一个ID 9. 使用 ENUM 而不是 VARCHAR 10. 从 PROCEDURE ANALYSE() 取得建议 11. 尽可能的使用 NOT NULL 12. Prepare…
---恢复内容开始--- python/MySQL(索引.执行计划.BDA.分页) MySQL索引: 所谓索引的就是具有(约束和加速查找的一种方式)   创建索引的缺点是对数据进行(修改.更新.删除)比较慢! 索引共分为: 1.主键索引: 特性:加速查找.不能为空.不能重复 2.普通索引: 特性:加速查找 3.唯一索引: 特性:加速查找.可以为空.不能重复 4.联合索引: 特征:(多列)联合主键索引.联合唯一索引.联合普通索引 5.全文索引: 特征:对文本的内容进行分词,进行搜索 索引用途及案例…
索引初识: 最普通的情况,是为出现在where子句的字段建一个索引.为方便讲述,我们先建立一个如下的表. CREATE TABLE mytable ( id serial primary key, category_id , , adddate ); 很简单吧,不过对于要说明这个问题,已经足够了.如果你在查询时常用类似以下的语句: ; 最直接的应对之道,是为category_id建立一个简单的索引: CREATE INDEX mytable_categoryid ON mytable (cate…
1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有3个未索引的表t1.t2.t3,分别只包含列c1.c2.c3,每个表分别含有1000行数据组成,指为1-1000的数值,查找对应值相等行的查询如下所示. SELECT c1,c2,c3 FROM t1,t2,t3 WHERE c1=c2 AND c1=c3 此查询结果应该为1000行,每行包含3个相…