当前位置: 首页 > news >正文

网站建设与发布免费html网站模板

网站建设与发布,免费html网站模板,移动端网站开发前端模板,表白网页链接大全目录 一 、概念 二、使用场景 三、索引使用 四、索引存在问题 五、命中索引问题 六、索引执行原理 一 、概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。暂时可以理解成C语言的指针,文章后面详解 二、使用场景 数据量较大,且…

目录

一 、概念

二、使用场景 

三、索引使用 

四、索引存在问题

五、命中索引问题

六、索引执行原理 


一 、概念

索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。暂时可以理解成C语言的指针,文章后面详解

二、使用场景 

  • 数据量较大,且经常对这些列进行条件查询。
  • 该数据库表的插入操作,及对这些列的修改操作频率较低。
  • 索引会占用额外的磁盘空间。

三、索引使用 

创建主键约束( PRIMARY KEY )、唯一约束( UNIQUE )、外键约束( FOREIGN KEY )时,会自动创建 对应列的索引。
  • 查看索引
show index from 表名;
  • 创建索引
create index 索引名 on 表名(字段名);
  • 删除索引
drop index 索引名 on 表名;

四、索引存在问题

  • 索引也会占用一些内存,在表数据量越大越明显
  • 索引是可以提高查询速度(前提是要命中索引,后面有解释命中索引),但是可能会拖慢增删改速度。
  • 后续如果对数据进行了增删改都要同步索引。

五、命中索引问题

索引命中规则详解:t这张表 a,b,c 三个字段组成组合索引select * from t where a=? and b=? and c=?  全命中select * from t where c=? and b=? and a=?  全命中 解析MySQL的查询优化器会自动调整where子句的条件顺序以使用适合的索引select * from t where a=?  命中a  解析:最左前缀匹配select * from t where a=? and b=?  命中a和b  解析:最左前缀匹配select * from t where a=? or b=?  一个没命中 解析or无法命中select * from t where a=? and c=?  命中a 解析:最左前缀匹配,中间没有则无法使用索引select * from t where a=? and b in ( x, y, z) and c=?  全部命中 in精确匹配可以使用索引select * from t where b=?  一个没命中  解析:最左前缀匹配原则select * from t where b=? and c=?  一个没命中  解析:最左前缀匹配原则select * from t where a=? and b like 'xxx%'   命中a和bselect * from t where a=? and b like '%xxx'  命中aselect * from t where a<? and b=?   命中a 解析这个是范围查找select * from t where a between ? and ?  and b=?  命中a和b 解析BETWEEN相当于in操作是精确匹配select * from t where a between ? and ?  and b=? and c  and between ? and ?    全部命解析中同上select * from where a-1=?   函数和表达式无法命中索引

 

六、索引执行原理 

准备测试表

-- 创建用户表
DROP TABLE IF EXISTS test_user;
CREATE TABLE test_user (id_number INT,name VARCHAR(20) comment '姓名'
,age INT comment '年龄'
,create_time timestamp comment '创建日期'
);

不加索引情况,要是查询大量数据可能死机 :

select * from test_user where id_number=556677;

为提供查询速度,创建 id_number 字段的索引:

create index idx_test_user_id_number on test_user(id_number);

换一个身份证号查询,并比较执行时间:

select * from test_user where id_number=776655;

注意我们可以看到我们如果查询的是主键,那么索引的值就是我们想要找到的值,如果我们想要获取非主键的值,我们必须根据找到的主键id去原来表中找到非主键,这种操作叫做回表 

http://www.yayakq.cn/news/751073/

相关文章:

  • 站长工具seo优化建议哈尔滨市住房与城乡建设局网站
  • 网站地图建设有什么用电商如何做
  • 网站与系统对接图文方案二手域名做网站不收录
  • 基础设施建设网站萧山建设有限公司网站
  • 论坛网站开发框架angular广州营销型网站优化
  • 吉林省建设安全协会网站淘宝客wordpress教程
  • 网站制作设计机构如何给自己公司做网站
  • 汕头企业网站建设价格中国建设网站首页
  • qq空间关闭申请网站wordpress rpc利用 扫描
  • 免费响应式网站模板深圳的互联网企业
  • 网站美工设计流程网站建设中网页代码
  • 我是做装修什么网站可以搬瓦工怎么做网站
  • 怎么给自己公司做网站合肥网站快速优化排名
  • 数据分析对网站建设的重要性广州网站排名优化服务
  • 徐汇专业做网站ps网站首页怎么做
  • 深圳龙华做网站的公司做网站不实名认证可以吗
  • 无锡公司建立网站罗湖商城网站建设哪家服务周到
  • 网站建设 阿里丰台区网站建设公司
  • 罗湖区网站建设免费网站模板网站
  • 权重查询爱站网招聘网站建设价格
  • 上海工程有限公司做seo的公司
  • 四川游戏seo整站优化咸阳市住房和城乡建设局网站
  • 自己建网站要花多少钱网站域名做入什么科目
  • 大型网站开发 c买了个网站源码后要怎么用
  • 网上的网站模板怎么下载网站搜索引擎优化诊断
  • 做拍客哪个网站好网站建设公司市场定位
  • Django 个人博客网站开发网站图片代码
  • 新手怎么做自己网站广告中国建筑网官网证书查询
  • p2p网站建设制作订餐网站建设
  • 对比网站房地产 网站 设计制作