当前位置: 首页> 教育> 高考 > 今天北京感染了多少人_广州网站推广_信息流优化师简历怎么写_免费行情软件网站下载大全

今天北京感染了多少人_广州网站推广_信息流优化师简历怎么写_免费行情软件网站下载大全

时间:2025/7/12 14:50:10来源:https://blog.csdn.net/GB100200/article/details/146977472 浏览次数:0次
今天北京感染了多少人_广州网站推广_信息流优化师简历怎么写_免费行情软件网站下载大全

一、索引基础

1.1  定义

        索引是一个排序的列表,包含索引字段的值及其对应的行数据记录所在的物理地址.

1.2  作用

        加快数据表的查询速度(主要作用),还可以对字段排序,加快表与表的连接速度,减少分组和排序的时间

1.3  副作用

        索引会额外占用磁盘空间;更新包含索引的表会花费更多时间

二、工作方式

        没有索引的情况下,要查询某行数据记录时,需要先扫描全表,再定位某行数据记录的位置。

        有了索引后,会先通过索引查询行数据记录所在的物理地址,即可直接访问相应的行数据记录,就像通过书的目录页码快速查找书内容一样。

三、创建索引的依据

1、表的行数据记录较多时(一般超过三五百行时),且读操作多的情况下应该要创建索引

2、建议在表的 主键/外键字段、多表连接的公共字段、唯一性较好的字段、不经常更新的字段、where条件的字段、group by分组的字段、order by排序的字段、简短的字段 上面创建索引

3、不建议在 唯一性较差的字段、更新太频繁的字段、大文本字段 上面创建索引

四、索引类型

4.1  普通索引

create index 索引名 on 表名(字段);alter table 表名 add index 索引名(字段);create table 表名 (.... , index 索引名(字段));

4.2  唯一索引

create unique index 索引名 on 表名(字段);alter table 表名 add unique 索引名(字段);create table 表名 (.... , unique 索引名(字段));

4.3  主键索引

alter table 表名 add primary key(字段);create table 表名 (.... , primary key(字段));

4.4  多列组合索引(适用于普通索引、唯一索引、主键索引)

create index 索引名 on 表名(字段1, 字段2, 字段3, ....);alter table 表名 add index 索引名(字段1, 字段2, 字段3, ....);#查询语句使用 and 做逻辑运算符时,where子句的条件字段顺序要与创建多列组合索引的字段顺序一致(要满足最左执行原则)select 字段 from 表名 where 字段1=XX and 字段2=XX and 字段3=XX ;

4.5  全文索引(只能在char、varchar、text等字符数据类型字段上创建)

create fulltext index 索引名 on 表名(字段);alter table 表名 add fulltext 索引名(字段);create table 表名 (.... , fulltext 索引名(字段));#全文索引可用于做全文模糊查询select 字段 from 表名 where match(字段) against('单词');

五、索引操作

5.1  删除索引

drop index 索引名 on 表名;alter table 表名 drop index 索引名;alter table 表名 drop primary key;

5.2  查看索引

show create table 表名;show index from 表名;show keys from 表名;

5.3  导致索引失效的几种情况

1、where子句中对字段进行null判断       

select 字段 from 表名 where 字段 is null;

2、where子句中使用不等于判断 

select 字段 from 表名 where 字段 != XX ;       
elect 字段 from 表名 where 字段 <> XX ;

3、where子句中对字段进行表达式或函数操作 

select 字段 from 表名 where 字段/2 = 10;     
select 字段 from 表名 where 函数(字段) = XX ;

 4、where子句中使用like查询并将%放在开头

select 字段 from 表名 where 字段 like '%XX';

5、where子句中字段顺序和多列组合索引的字段顺序不一致  

索引(字段2, 字段1)                                        
where 字段1=XX and 字段2=XX;

六、补充

        如果出现select查询语句执行速度慢的情况,可能原因:

1、缺少索引;

2、索引失效;

3、SQL语句语法有问题;

4、mysql配置文件参数设置得不合理;

5、数据表太大了;别的应用导致服务器负载过高;硬件性能不足

        抛开其它原因的影响,如果是索引的原因导致select执行速度慢,要先使用 explain 分析 select 语句(看key、rows、type等字段),判断这个select语句是否正确的使用了索引,再根据select语句中的where子句使用的条件字段创建相应的单列索引或多列组合索引(要满足最左执行原则),并保证select语句中避免出现上面几种导致索引失效的情况。

关键字:今天北京感染了多少人_广州网站推广_信息流优化师简历怎么写_免费行情软件网站下载大全

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: