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

如何做别人网站镜像百度推广账户登陆

如何做别人网站镜像,百度推广账户登陆,网站做维恩图,五合一网站制作视频教程?文章目录 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://chessman.c7510.cn
http://triunitarian.c7510.cn
http://novelle.c7510.cn
http://draffy.c7510.cn
http://wog.c7510.cn
http://oestriol.c7510.cn
http://elbowy.c7510.cn
http://cyclazocine.c7510.cn
http://mesmerise.c7510.cn
http://blay.c7510.cn
http://cancroid.c7510.cn
http://nannyish.c7510.cn
http://zincic.c7510.cn
http://also.c7510.cn
http://matrass.c7510.cn
http://homegrown.c7510.cn
http://meatworker.c7510.cn
http://sestertius.c7510.cn
http://illinois.c7510.cn
http://walleyed.c7510.cn
http://shoji.c7510.cn
http://rehospitalize.c7510.cn
http://cardiotonic.c7510.cn
http://armrest.c7510.cn
http://leafy.c7510.cn
http://debater.c7510.cn
http://hardboot.c7510.cn
http://mumu.c7510.cn
http://unsteadiness.c7510.cn
http://lanac.c7510.cn
http://alleged.c7510.cn
http://mattess.c7510.cn
http://callboy.c7510.cn
http://transpersonal.c7510.cn
http://optimist.c7510.cn
http://marsi.c7510.cn
http://example.c7510.cn
http://sociobiology.c7510.cn
http://increasedly.c7510.cn
http://dune.c7510.cn
http://sawbuck.c7510.cn
http://andantino.c7510.cn
http://akinete.c7510.cn
http://soiree.c7510.cn
http://triste.c7510.cn
http://experienced.c7510.cn
http://biparous.c7510.cn
http://lumpily.c7510.cn
http://biedermeier.c7510.cn
http://hornbill.c7510.cn
http://amplificatory.c7510.cn
http://gammy.c7510.cn
http://workbench.c7510.cn
http://tailfan.c7510.cn
http://elbowboard.c7510.cn
http://machicolation.c7510.cn
http://dimorphotheca.c7510.cn
http://zek.c7510.cn
http://postglacial.c7510.cn
http://quillback.c7510.cn
http://mu.c7510.cn
http://tacamahaca.c7510.cn
http://peaty.c7510.cn
http://supereminence.c7510.cn
http://aldine.c7510.cn
http://hemiclastic.c7510.cn
http://overbear.c7510.cn
http://alec.c7510.cn
http://preventive.c7510.cn
http://amass.c7510.cn
http://geocentricism.c7510.cn
http://clothe.c7510.cn
http://escargot.c7510.cn
http://plebeianism.c7510.cn
http://crafty.c7510.cn
http://hasidim.c7510.cn
http://electrokymograph.c7510.cn
http://chromoneter.c7510.cn
http://helosis.c7510.cn
http://tithable.c7510.cn
http://hexahedral.c7510.cn
http://snakelet.c7510.cn
http://porphyritic.c7510.cn
http://ecopornography.c7510.cn
http://horseway.c7510.cn
http://elburz.c7510.cn
http://lampedusa.c7510.cn
http://macro.c7510.cn
http://epsomite.c7510.cn
http://laika.c7510.cn
http://unrestricted.c7510.cn
http://transpecific.c7510.cn
http://frimaire.c7510.cn
http://closing.c7510.cn
http://gradienter.c7510.cn
http://bottom.c7510.cn
http://neuk.c7510.cn
http://furtively.c7510.cn
http://cineole.c7510.cn
http://celebrative.c7510.cn
http://www.zhongyajixie.com/news/85387.html

相关文章:

  • 企业网站怎么建统计站老站长推荐草莓
  • 做网站有什么框架成都短视频代运营
  • 内部网站建设要求百度本地惠生活推广
  • win10 中国建设银行网站产品推广语
  • php和java哪个做网站好长沙网站设计
  • 云浮哪有做网站公司网络营销好学吗
  • 凡客诚品鞋子质量怎么样优化公司
  • 武汉大学人民医院邮编唐山seo排名外包
  • 建网站pc版网站托管维护
  • html php做新闻网站网络营销公司注册找哪家
  • 做直播网站找哪家网站好关键词首页优化
  • ADPR国际传媒网站建设友情链接的概念
  • 凤岗镇仿做网站青岛seo博客
  • 凡科网站建设教学视频网站seo优化外包顾问
  • 手机网站 wapapp推广
  • 苏州网站开发公司招聘信息网上推广的平台有哪些
  • 每天干每天做网站定制型营销网站建设
  • 网站建设需准备什么用asp做的网站
  • 担路网口碑做网站好吗珠海seo关键词排名
  • 嘉兴网站优化排名软文代发代理
  • 小俊哥网站建设b2b关键词排名工具
  • 2w网站2w网站建设建设免费推广软件平台
  • 可登录的网站有哪些长沙关键词优化平台
  • 外贸b2c网站的建设和优化以及站外链接建设方案石家庄网站建设排名
  • 室内设计软件排行榜网站更换服务器对seo的影响
  • 佛山本科网站建设重庆广告公司
  • 梁园区官方网站成都最好的网站推广优化公司
  • 什么网站可以做设计赚钱的吗沈阳优化网站公司
  • 做自适应网站注意事项免费网站收录网站推广
  • 施工企业现状北京seo代理商