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

如何做别人网站镜像win10最强优化软件

如何做别人网站镜像,win10最强优化软件,视频制作流程,备案时网站名称文章目录 1.聚簇索引 VS 非聚簇索引经典问题 2.索引操作创建主键索引唯一索引的创建普通索引的创建全文索引的创建查询索引删除索引索引创建原则 1.聚簇索引 VS 非聚簇索引 之前介绍的将所有的数据都放在叶子节点的这种存储引擎对应的就是 InnoDB 默认存储表数据的存储结构。 …

文章目录

  • 1.聚簇索引 VS 非聚簇索引
    • 经典问题
  • 2.索引操作
    • 创建主键索引
    • 唯一索引的创建
    • 普通索引的创建
    • 全文索引的创建
    • 查询索引
    • 删除索引
    • 索引创建原则

1.聚簇索引 VS 非聚簇索引

之前介绍的将所有的数据都放在叶子节点的这种存储引擎对应的就是 InnoDB 默认存储表数据的存储结构。

下面我们简单介绍一下 MyISAM 存储引擎-主键索引。MyISAM 引擎同样使用B+树作为索引结果,叶节点的data域存放的是数据记录的地址。下图为MyISAM表的主索引,Col1 为主键。
在这里插入图片描述
其中,MyISAM 最大的特点是,将索引Page和数据Page分离,也就是叶子节点没有数据,只有对应数据的地址。相较于InnoDB 索引,InnoDB 是将索引和数据放在一起的。

--终端A
mysql> create database myisam_test;  --创建数据库
Query OK, 1 row affected (0.00 sec)
mysql> use myisam_test;Database changed
mysql> create table mtest(
-> id int primary key,
-> name varchar(11) not null
-> )engine=MyISAM;              --使用engine=MyISAM
Query OK, 0 rows affected (0.01 sec)--终端B
[root@-centos mysql]# ls myisam_test/ -al  --mysql数据目录下
total 28
drwxr-x---  2 mysql mysql 4096 Jun 13 13:33 .
drwxr-x--x 13 mysql mysql 4096 Jun 13 13:32 ..
-rw-r-----  1 mysql mysql   61 Jun 13 13:32 db.opt
-rw-r-----  1 mysql mysql 8586 Jun 13 13:33 mtest.frm   --表结构数据
-rw-r-----  1 mysql mysql    0 Jun 13 13:33 mtest.MYD   --该表对应的数据,当前没有数据,所以是0
-rw-r-----  1 mysql mysql 1024 Jun 13 13:33 mtest.MYI   --该表对应的主键索引数据

MyISAM 这种用户数据与索引数据分离的索引方案,叫做非聚簇索引

--终端A
mysql> create database innodb_test;       
Query OK, 1 row affected (0.00 sec)
mysql> use innodb_test;Database changed
mysql> create table itest(
-> id int primary key,
-> name varchar(11) not null
-> )engine=InnoDB;    --使用engine=InnoDB                
Query OK, 0 rows affected (0.02 sec)--创建数据库--终端B
[root@centos mysql]# ls innodb_test/ -altotal 120
drwxr-x---  2 mysql mysql  4096 Jun 13 13:39 .
drwxr-x--x 14 mysql mysql  4096 Jun 13 13:38 ..
-rw-r-----  1 mysql mysql    61 Jun 13 13:38 db.opt
-rw-r-----  1 mysql mysql  8586 Jun 13 13:39 itest.frm     --表结构数据
-rw-r-----  1 mysql mysql 98304 Jun 13 13:39 itest.ibd     --该表对应的主键索引和用户数据,虽然现在一行数据没有,但是该表并不为0,因为有主键索引数据

InnoDB 这种用户数据与索引数据在一起索引方案,叫做聚索引。当然,MySQL除了默认会建立主键索引外,我们用户也有可能建立按照其他列信息建立的索引,一般这种索引可以叫做辅助(普通)索引。
对于 MyISAM,建立辅助(普通)索引和主键索引没有差别,无非就是主键不能重复,而非主键可重复。下图就是基于 MyISAM 的 col2建立的索引,和主键索引没有差别。
在这里插入图片描述
InnoDB 除了主键索引,用户也会建立辅助(普通)索引,我们以上表中的Col3 建立对应的辅助索引如下图:
在这里插入图片描述

InnoDB 的非主键索引中叶子节点并没有数据,而只有对应记录的 key 值。

通过辅助(普通)索引,找到目标记录,需要两遍索引:首先检索辅助索引获得主键,然后用主键到主索引中检索获得记录。这种过程,就叫做回表查询!这种多个索引的就是一个表可以对应多个 B+树!
为何InnoDB 针对这种辅助(普通)索引的场景,不给叶子节点也附上数据呢?原因就是太浪费空间了。【没必要再搞一份重复的数据!】索引的本质:B+树

经典问题

mysql默认创建一列带有主键的列,那为什么插入无主键表时是无序的显示表仍然无序,不是有默认主键吗?

mysql默认的主键肯定不会按着你的想法来,他有自己的设置,你插入顺序怎样,显示就怎样。

那为什么查询还那么慢?

假设有abc三个字段,你没有设置主键,假设mysql默认使得d为隐藏主键,你用a去查就无法使用d的索引结构,只能线性遍历,所以很慢。【经过了解,一棵树可能有多个索引,一个索引本质就是一个数据结构实例,主键索引/普通索引】为了讲解清楚,通常把整颗b+树呈现给你,但实际上,查询数据时是按需加载!即用哪个加载哪个结点

叶子节点全部用链表级联起来 a.首先,这是b+的特点 b.我们比较希望进行范围查找

是mysql用了B+结构,B+结构是非叶子节点不相连,叶子节点相连;
一段数据/一张page中数据连续。

理解curd

对mysql内部的数据等做操作(CURD)的时候,本质其实就是操作文件内容。

文件必须先被打开,对文件内容做任何操作,都不是直接在磁盘设备上做操作的!任何磁盘数据,在进程中要进行操作,本质都必须在内存中进行!如果数据不在内存中呢?换入,换出【磁盘到内存,内存到磁盘】mysql内部一定要有自己的内存管理。mysql自己启动的时候,要预先申请一批内存空间。

索引覆盖

在这里插入图片描述

复合索引,通常用于{a,b}:用a找b,即不再通过ab找到主键key(普通索引存的不是数据而是主键),继而通过key找b:覆盖了主键索引。不能拿b找a,因为匹配时都是1从左向右:索引最左匹配原则

2.索引操作

创建主键索引

第一种方式-- 在创建表的时候,直接在字段名后指定 primary key

 create table  user1(id int primary key, name varchar(30));

第二种方式:-- 在创建表的最后,指定某列或某几列为主键索引

create table  user2(id int, name varchar(30), primary key(id)); 

第三种方式:-- 创建表以后再添加主键

create table  user3(id int, name varchar(30));
alter table user3 add primary key(id);

主键索引的特点:

一个表中,最多有一个主键索引,当然可以有复合主键(复合主键也是一个主键,只不过主键由两个字段构成)。
主键索引的效率高(主键不可重复)。
创建主键索引的列,它的值不能为null,且不能重复。
主键索引的列基本上是int。

唯一索引的创建

第一种方式-- 在表定义时,在某列后直接指定unique唯一属性。

create table user4(id int primary key, name varchar(30) unique);

第二种方式-- 创建表时,在表的后面指定某列或某几列为unique

 create table user5(id int primary key, name varchar(30), unique(name));

第三种方式

create table user6(id int primary key, name varchar(30));
alter table user6 add unique(name);

唯一索引的特点:

一个表中,可以有多个唯一索引
查询效率高
如果在某一列建立唯一索引,必须保证这列不能有重复数据
如果一个唯一索引上指定not null,等价于主键索引

普通索引的创建

第一种方式

create table user8(id int primary key,name varchar(20),email varchar(30),index(name) --在表的定义最后,指定某列为索引
);

第二种方式

create table user9(
id int primary key,  
name varchar(20),  
email varchar(30)
);
alter table user9 add index(name); --创建完表以后指定某列为普通索引

第三种方式

create table user10(id int primary key,  name varchar(20),  email varchar(30)
);  
create index idx_name on user10(name);-- 创建一个索引名为 idx_name 的索引  

普通索引的特点:

一个表中可以有多个普通索引,普通索引在实际开发中用的比较多
如果某列需要创建索引,但是该列有重复的值,那么我们就应该使用普通索引

全文索引的创建

当对文章字段或有大量文字的字段进行检索时,会使用到全文索引。MySQL提供全文索引机制,但是有要求,要求表的存储引擎必须是MyISAM,而且默认的全文索引支持英文,不支持中文。如果对中文进行全文检索,可以使用sphinx的中文版(coreseek)。

CREATE TABLE articles (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,title VARCHAR(200),body TEXT,FULLTEXT (title,body))engine=MyISAM;INSERT INTO articles (title,body) VALUES('MySQL Tutorial','DBMS stands for DataBase ...'),('How To Use MySQL Well','After you went through a ...'),('Optimizing MySQL','In this tutorial we will show ...'),('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),('MySQL vs. YourSQL','In the following database comparison ...'),('MySQL Security','When configured properly, MySQL ...');

查询有没有database数据

如果使用如下查询方式,虽然查询出数据,但是没有使用到全文索引

mysql> select * from articles where body like '%database%';+----+-------------------+------------------------------------------+| id | title             | body                                     |+----+-------------------+------------------------------------------+|  1 | MySQL Tutorial    | DBMS stands for DataBase ...             ||  5 | MySQL vs. YourSQL | In the following database comparison ... |+----+-------------------+------------------------------------------+

可以用explain工具看一下,是否使用到索引

mysql> explain select * from articles where body like '%database%'\G*************************** 1. row ***************************id: 1select_type: SIMPLEtable: articlestype: ALLpossible_keys: NULLkey: NULL  <== keynull表示没有用到索引
key_len: NULLref: NULLrows: 6Extra: Using where1 row in set (0.00 sec)

如何使用全文索引呢?

mysql> SELECT * FROM articles-> WHERE MATCH (title,body) AGAINST ('database');+----+-------------------+------------------------------------------+| id | title             | body                                     |+----+-------------------+------------------------------------------+|  5 | MySQL vs. YourSQL | In the following database comparison ... ||  1 | MySQL Tutorial    | DBMS stands for DataBase ...             |+----+-------------------+------------------------------------------+mysql> explain -> SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('database')\G*************************** 1. row ***************************id: 1select_type: SIMPLEtable: articlestype: fulltextpossible_keys: titlekey: title <= key用到了titlekey_len: 0ref: 
rows: 1Extra: Using where

查询索引

show keys from 表名
show index from 表名;
desc 表名;

删除索引

第一种方法-删除主键索引:

alter table 表名 drop primary key;

第二种方法-其他索引的删除:

alter table 表名 drop index 索引名; --索引名就是show keys from 表名中的 Key _name 字段mysql> alter table user10 drop index idx name;

第三种方法方法:

drop index 索引名 on 表名mysql> drop index name on user8;

索引创建原则

比较频繁作为查询条件的字段应该创建索引
唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
更新非常频繁的字段不适合作创建索引
不会出现在where子句中的字段不该创建索引


文章转载自:
http://taffrail.sfrw.cn
http://keos.sfrw.cn
http://labionasal.sfrw.cn
http://embryonated.sfrw.cn
http://shinbone.sfrw.cn
http://acknowledged.sfrw.cn
http://tufty.sfrw.cn
http://hammering.sfrw.cn
http://netful.sfrw.cn
http://hobnail.sfrw.cn
http://dysphagia.sfrw.cn
http://irrevocability.sfrw.cn
http://ares.sfrw.cn
http://patristic.sfrw.cn
http://observational.sfrw.cn
http://sheria.sfrw.cn
http://heibei.sfrw.cn
http://stenotype.sfrw.cn
http://religiosity.sfrw.cn
http://doorstep.sfrw.cn
http://overlie.sfrw.cn
http://exsert.sfrw.cn
http://hyalinize.sfrw.cn
http://tarmacadam.sfrw.cn
http://mildness.sfrw.cn
http://tetraxile.sfrw.cn
http://uveitis.sfrw.cn
http://broadish.sfrw.cn
http://russian.sfrw.cn
http://barnstorming.sfrw.cn
http://dotey.sfrw.cn
http://retem.sfrw.cn
http://cataclasm.sfrw.cn
http://announciator.sfrw.cn
http://ascendency.sfrw.cn
http://mutagenic.sfrw.cn
http://peafowl.sfrw.cn
http://polydemic.sfrw.cn
http://roach.sfrw.cn
http://aei.sfrw.cn
http://debater.sfrw.cn
http://remand.sfrw.cn
http://raggedy.sfrw.cn
http://unzealous.sfrw.cn
http://girt.sfrw.cn
http://pluton.sfrw.cn
http://inalienability.sfrw.cn
http://antichrist.sfrw.cn
http://opportunistic.sfrw.cn
http://commonweal.sfrw.cn
http://heartiness.sfrw.cn
http://skylon.sfrw.cn
http://astromantic.sfrw.cn
http://jeffersonian.sfrw.cn
http://lowering.sfrw.cn
http://antisocialist.sfrw.cn
http://amphitheatre.sfrw.cn
http://colourbred.sfrw.cn
http://digraph.sfrw.cn
http://jalor.sfrw.cn
http://ciborium.sfrw.cn
http://averroism.sfrw.cn
http://duke.sfrw.cn
http://paddlefish.sfrw.cn
http://attendance.sfrw.cn
http://emitter.sfrw.cn
http://wastage.sfrw.cn
http://deaerator.sfrw.cn
http://vibrative.sfrw.cn
http://transmutative.sfrw.cn
http://cudgel.sfrw.cn
http://pinole.sfrw.cn
http://yummy.sfrw.cn
http://pheasant.sfrw.cn
http://poughite.sfrw.cn
http://herborize.sfrw.cn
http://pawn.sfrw.cn
http://chiroplasty.sfrw.cn
http://gloaming.sfrw.cn
http://freakish.sfrw.cn
http://commutativity.sfrw.cn
http://schoolmiss.sfrw.cn
http://unchangeable.sfrw.cn
http://parthenogeny.sfrw.cn
http://dichlorodifluoromethane.sfrw.cn
http://luminarist.sfrw.cn
http://tallith.sfrw.cn
http://disaffected.sfrw.cn
http://comfit.sfrw.cn
http://alanyl.sfrw.cn
http://demagog.sfrw.cn
http://bioenvironmental.sfrw.cn
http://oxalidaceous.sfrw.cn
http://yenisei.sfrw.cn
http://melilite.sfrw.cn
http://homophonous.sfrw.cn
http://scientism.sfrw.cn
http://redcoat.sfrw.cn
http://feeble.sfrw.cn
http://delightful.sfrw.cn
http://www.hrbkazy.com/news/92403.html

相关文章:

  • 网站建设程序开发网络营销教材电子版
  • 网站开发就业前景怎么样广告视频
  • 新浪网站怎么做推广技能培训机构
  • 网站建设框架模板广告联盟
  • 阿里巴巴网站基础建设首保服务营销策略从哪几个方面分析
  • 企划做网站网络营销的工具和方法
  • 工业和信息化部网站备案系统营销方案怎么写模板
  • 网站开发前端兼职网络营销师怎么考
  • dw手机网站怎么做1688网站
  • 化妆品网站建设策划书网络营销主要做些什么
  • 销售型企业网站百度手机助手官网下载
  • 烟台做网站哪家做的好seo网站内部优化
  • 建设银行单位社会招聘网站懂得网站推广
  • 免费做国际贸易的网站搜索引擎优化的作用是什么
  • 做网站设计的有些什么职位站长统计软件
  • wordpress 上传安装苏州百度搜索排名优化
  • 北京网站建设 优化个人能接广告联盟吗
  • 苏州网站建设凡科百度搜索指数入口
  • 大学做视频网站设计软文推广是什么意思?
  • 手机app设计软件深圳seo优化培训
  • 广西网站建设智能优化怎样优化网站
  • 婚纱摄影网站设计毕业论文百度搜索历史记录
  • 可以做四级的网站自动的网站设计制作
  • 网站建设技术标书上海搜索引擎优化seo
  • 网站建设的三网合一重庆百度总代理
  • 帮别人做网站怎么备案怎么做一个网站平台
  • 工厂拿货回家加工网站怎样优化seo
  • uc浏览器访问网站360网站推广费用
  • 做外挂网站怎么建个网站
  • 做图片为主的网站对服务器的要求广告网页