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

绵阳建网站哪家好模板网站免费建站

绵阳建网站哪家好,模板网站免费建站,淘宝网站建设合同,网站多个用户怎样建设目录 1、索引 1.1 查看索引 1.2 创建索引 1.3 删除索引 1.4 索引的实现 2、事务 1、索引 索引等同于目录,属于针对查询操作的一个优化手段,可以通过索引来加快查询的速度,避免针对表进行遍历。 主键、unique和外键都是会自动生成索引的…

目录

1、索引

1.1 查看索引

1.2 创建索引

1.3 删除索引

1.4 索引的实现

2、事务


1、索引

索引等同于目录,属于针对查询操作的一个优化手段,可以通过索引来加快查询的速度,避免针对表进行遍历。

主键、unique和外键都是会自动生成索引的。

索引能提高查询的速度,但也是有代价的。

1、占用更多的空间,生成索引是需要一系列的数据结构,以及一系列的额外的数据来存储到硬盘空间。

2、可能会降低插入、修改、删除的速度。

1.1 查看索引

使用 show index from 表名; 来查看索引

例如:


1.2 创建索引

使用 create index 索引名 on 表名(列名); 来创建索引

例如:

注意:

创建索引时,如果表中的数据很多,创建索引容易使服务器卡住,就需要另一台机器,在MySQL中部署相同的表,创建所需要的索引,然后导入数据替换。


1.3 删除索引

使用 drop index 索引名 on 表名;来删除索引

自己创建的索引可以删除,如果是自动创建的索引,不能删除。

例如:


1.4 索引的实现

索引也是通过一定的数据结构实现的,MySQL的索引是一个改进的树形结构 B+树(N叉搜索树)。

B树

B树是通过区间来进行分支的,每个节点的度都是不确定的,一个节点保存N个key,就可以划分出N+1个区间,每个区间都可以衍生一系列的子树。

一个节点中,虽然可以保存N个key,但不是无限制的,达到一定的规模,就会触发节点的分裂,当删除元素达到一定的数目,也会触发节点的合并。

B树(N叉搜索树)

特点:

1、每个节点上有M个key,划分出M+1个区间。

2、进行查询的时候,根据根节点出发,判定当前要查的数据在节点的哪个区间内,再决定下一步往哪走。

3、进行添加和删除元素时,可以涉及到节点的拆分和合并。


B+树

B+树的特点:

1、B+树也是一个N叉搜索树,一个节点上存在N个key,就划分成N个区间。

2、每个节点上N个key中,最后一个就相当于当前子树的最大值。

3、父节点上的每个key都会以最大值的身份在子节点的对应区间中存在,叶子节点这一层,包含整个树的数据全集。

4、B+树会使用链表这样的结构,把叶子节点串起来,此时就可以非常方便的完成数据集合的遍历,并且方便的从数据中按照范围取出一个“子集”。

优点:

1、N叉搜索树,树的高度是有限的。

2、非常擅长范围查询

3、所有的查询都是落在叶子节点上,查询之间的开销是稳定的。

4、由于叶子节点是全集,会把数据只存储在叶子节点上,非叶子节点只存储一个用来排序的key,所以非叶子节点用不了多少空间,就可以缓存在内存中,提升访问的速度。


2、事务

事务可以把多个SQL语句打包成一个整体,可以保证这些SQL语句要么全部执行,要么一个都不执行,具有原子性的特点。

事务的执行过程:

开始事务:start transaction;

执行各种SQL语句

主动触发回滚:rollback;

事务结束:commit;

事务的原理:

回滚以日志的方式,记录事务中的关键操作,这样的记录是回滚的依据。然后以打印的方式,将内容放在文件中,即使主机掉电,也不会影响,一旦启动主机,MySQL也会重新启动,发生回滚操作。

事务的特点:

1、原子性:回滚的方式,保证操作都能执行正确。

2、一致性:事务执行前后,数据不能产生特别大的差异。

3、持久性:事务做出的修改,都是在硬盘上持久保存的,重启服务器,修改仍然有效。

4、隔离性:数据并发执行多个事务时,并发程度越高,整体的效率就越高。


提高并发执行的程度,对提高效率,但也会产生一些问题。

1、脏读问题

一个事务A正在写数据的过程中,另一个事务B读取了同一个数据,接下来事务A修改了数据,导致事务B读到的数据是一个无效数据。

解决方法:

针对写加锁,等写的操作完全执行结束,并且不再修改之后再读,并发性降低了,隔离性提高了,效率降低了,准确性提高了。

2、不可重复读

并发执行事务的过程中,如果事务A多次读取同一个数据,出现不同的情况,就是不可重复读,事务A再读的过程中,事务B修改了数据并提交了数据。

解决方法:

针对读操作进行加锁,读的时候不能再修改数据。

3、幻读

一个事务A执行的过程中,两次读取操作,数据内容没有改变,但是结果集变了,就称为“幻读”。

解决方法:

保持决定的串行执行事务,完全没有并发,效率最低,隔离最高,内容最准确。


http://www.dtcms.com/a/514690.html

相关文章:

  • 兼职做视频的网站网站建设服
  • 单页淘客网站怎么建设华强北网上商城
  • 武陟外贸英文网站建设专业的常州做网站
  • html5响应式网站网站模板模仿
  • 广元单页网站制作网站开发维护花费
  • 企业网站的规划与建设编程平台
  • 泰安哪里有做网站app的中国互联网
  • 做网站看网页效果台州网站设计建设
  • 马鞍山建设银行网站自己做内部网站
  • 利用模板建网站内容平台策划书
  • 怎样才能建设一歌网站南沙做网站公司
  • 网站建设哪家一见钟情 网站
  • 三水网站建设企业多用户商城源码开发
  • 做淘宝客需要网站吗设计一个简单的旅游网站
  • 东莞做网站公司律所网站建设要求书
  • 福建住房和建设网站wordpress淘宝客插件破解版
  • 怎样建立自己网站上海网站建设服务是什么意思
  • 移动端网站怎么做seo外包平台
  • 陈铭生我来找你了seo推广优化外包公司
  • 做网站找毛叶子歌wordpress网站怎么设置关键词
  • 漯河网做网站重庆微信网站制作专家
  • ip代理提取网站源码网站seo怎么做的
  • 建设内容管理网站的目的网站诊断表
  • 培训教育的网站怎么做温州公司做网站
  • 云建站龙岗公司网站
  • 广州站改造最新消息淄博软件开发公司有哪些
  • 廊坊网站建设廊坊网络公司驻梦天长街道两学一做网站
  • 小清新个人网站WordPress xml 收录
  • 旅游景点网站设计c 怎么做能让窗体访问网站
  • 河南工程招标网站加密软件代理