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

新乡做新网站上海做seo的公司

新乡做新网站,上海做seo的公司,渭南做网站的公司电话,网站建设的公司哪家便宜目录 一 、概念 二、使用场景 三、索引使用 四、索引存在问题 五、命中索引问题 六、索引执行原理 一 、概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。暂时可以理解成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.tj-hxxt.cn/news/89886.html

相关文章:

  • WordPress建站去掉后缀杭州优化外包哪里好
  • 专门做ppt的网站名称网络营销网络推广
  • 做毕业论文设计的网站千锋教育培训机构就业率
  • 网站编辑的岗位职责怎么样建网站
  • 响应式企业网站seo网站推广主要目的不包括
  • 如何做网站优化关键词优化网络营销策划书的结构
  • 沧州做网站的seo网络优化是什么工作
  • 德网站建设网络推广公司介绍
  • 做的网站怎么让百度收索时搜陕西seo主管
  • 网站代做百度导航下载2020新版语音
  • 企业网站手机版网络推广的方法你知道几个?
  • ui设计公司有哪些武汉seo计费管理
  • wordpress过滤显示插件鼓楼网站seo搜索引擎优化
  • 用css做网站菜单网站seo分析报告案例
  • 免费做app网站百度手机助手网页
  • 利用网络媒体营销来做电商网站论文桂平seo关键词优化
  • 英山县城乡建设规划局网站百度图片搜索引擎入口
  • 博客发布 网站模版查询收录
  • 做仿牌网站百度今日小说排行榜
  • 昆明网站建设公司哪家口碑好网站建设技术外包
  • 网站维护方案怎么做优化设计答案五年级下册
  • 网站开发颜色选择器学好seo
  • 网站建设属于哪种公司sem优化
  • wordpress 子站点可以推广的软件
  • 电子商务网站规划方案深圳外贸网络推广
  • qt 可以做网站吗学大教育一对一收费价格表
  • 建设京剧网站的意义百度网站提交入口网址
  • 网站设计咨询电话旺道seo推广
  • 惠州seo快速排名建站seo推广
  • 网站为什么做重定向seo推广公司哪家好