精华内容
下载资源
问答
  • 主键索引、聚索引、索引优化理解
    2020-08-08 03:54:37

    一般创建表都会以主键建立索引,每个主键就是树的一个节点,节点上的分之或者说树叉就是表中一行数据的其他字段数据。如果查询其他字段数据,一般需要先找到主键节点,然后再查询对应的树叉数据。这就叫回表。
    如果建立的表没有主键,那么会默认以唯一索引字段来创建表,这就叫聚簇索引。
    如果索引优化建立的联合索引又叫覆盖索引,需要符合最左匹配原则。而且如果表里面有主键索引,那么查询某个别的字段是,不能单独以那个字段建立索引,因为最终生效的还是主键索引。
    另外sql中,like函数后结果不能在前面加%,这样会导致索引失效,只能在后面加。
    数据量很大分页的话,提示效率可以ordey by主键,可以提升很大效率。
    后续我继续完善更新,并整理格式。

    更多相关内容
  • 簇优化

    千次阅读 2018-01-29 17:22:56
    LTE是Long Term Evolution缩写,意思是长期演进,相对单验,是一个单独的基站进行优化一组连续覆盖区域基站进行优化,比如,一个可能有10个站或者20个站,这个是根据项目要求和市区密集度来规划的。...

    LTE是Long Term Evolution缩写,意思是长期演进,相对单验,是对一个单独的基站进行优化,簇是对一组连续覆盖区域基站进行优化,比如,一个簇可能有10个站或者20个站,这个是根据项目要求和市区密集度来规划的。

    我们做任何事都需要一个流程,比如我们开店,首先要考察市场,看资金是否足够,是否有技术,是否有管理能力,如果这些都具备了,那么就可以开店了,再就是,在工作中,如果我们不知道自己的工作流程,其实你就不知道自己在做什么。簇优化也是需要流程的,簇优化流程有以下五个步骤:

    第一步簇优化准备:检查基站工作状态、无线参数、核查站点参数表、规划测试路线和测试方法。

    第二步判断是否满足簇优化启动条件:开通正常站点数占计划开通站点总数 80%以上,可开启簇优化。为什么说在80%以上,比如有15个基站,但是只开通了5个站,它是少于80%,达不到覆盖的要求,那么,这5个站就不能进行簇优化。

    第三步簇评估测试:通过对簇内主要道路,重点覆盖区域进行DT/CQT测试,评估簇内覆盖情况。

    第四步分析测试数据,输出各簇的网络优化方案,实施RF天馈调整,参数优化,干扰排查等网络优化工作。

    最后一步就是优化后进行复测,对比评估簇优化效果;输出XXX簇LTE网络评估优化报告。比如,我们之前做的是钟楼簇优化报告,输出的就是钟楼簇LTE网络评估优化报告。

    我们再来看一下簇优化的准备工作,现阶段我们簇优化的主要工作内容有以下几点:
    第一点获取工参信息与后台配置参数,这个是由网络优化工程师负责的,当然在获取工参信息与后台配置参数过程中,要注意相关信息的准确度(如经度、纬度);

    第二点工程督导进行基站运行状态核查并排除故障,在工程督导核查基站运行状态并排除故障过程中,由网络工程师督促工程督导团队进行;

    第三点由网络工程师负责测试工具和人员准备;

    第四点由网络工程师负责制定测试路线和测试方法;

    第五点由网络工程师核查无线规划参数(如PCI规划参数)是否已经输入系统;

    第六点网络工程师核查无线规划参数与规划是否一致(如不一致可能会导致覆盖和干扰问题),这个是需要规划人员协助的;

    第七点网络工程师检查站点数是否满足启动条件,以上就是现阶段我们簇优化的主要工作内容。

    接下来我们看一下在簇优化准备工作中需要注意哪些事项,避免在优化准备中出现错误,下面针对各项工作内容列出相关信息的注意事项:
    第一点,工程参数信息与系统侧配置参数的获取,要求各项工作内容的准确性,特别是工程参数中的经纬度、天线方位角、俯仰角、天线类型、站高等信息的准确性,这将直接影响到后续优化的工作量与效率,以及分析的准确性;而系统侧参数主要是:RS参考信号功率、各小区的 PCI、邻区等参数的准确性。

    第二点,基站运行状态核查并协助设备团队进行故障排查,要求各基站小区不能存在故障,也就是基站的完好率为100%。发现故障应及时通知工程设备团队进行排除并及时监控进展。

    第三点,优化人员和测试工具的准备,主要是对各项工具进行核查,确保各种工具可以正常工作,不会造成由于现场工具问题而影响优化进度,这也是每次工作之前必须准备的事情。在这里要注意测试终端的型号、版本以及测试软件的版本必须是能正常使用的。像华为测试手机有E392/E398版本,之前,我们做百色项目时,他们所用的测试终端就不同,4G用华为E392,2G用HTC,所以,要选对测试终端的型号。

    第四点,测试线路和测试方法的制定,在线路上要求遍历测试区域内80%以上的车辆可以进入的线路,特别是双车道及以上道路均需要进行测试;在测试方法上根据客户要求的合同交付的KPI进行制定,常用情况下是数据业务的长保,同时一般也会要求数据业务的短呼业务以核查接入成功率等指标,进行短呼时要求呼叫建立时间、两次呼叫建立时间间隔、业务保持时长等几个参数的确定。

    第五点,系统侧参数的要求是规划参数已经完成输入,并且进行多次(最少2次)的核查,以确保不会出现问题,这里面重点注意频点、PCI、RS功率、邻区等参数。如果存在问题,请及时进行与相关的团队(规划团队)进行沟通,以便及时更改。

    第六点,上行干扰的统计分析,主要是对每个小区上行干扰进行统计,以便及时发现各个小区的上行干扰情况,以避免影响到用户速率。
    讲完优化准备工作中的注意事项,我们再来看看簇优化流程中的簇优化工作,在既定的测试优化区域内,首先进行一次全面的数据业务的长保下载业务摸底测试,测试线路按前期制定的线路进行,而测试方法也按照前期制定进行。在完成摸底测试数据的采集后主要针对测试数据进行以下几个方面的分析:
    1)单小区覆盖分析
    2)网络覆盖分析
    3)切换分析
    4)RRC重建分析
    5)下载速率分析(流量分析)

    现在我们对以上分析进行一些大概的了解,
    1)单小区覆盖分析:单小区分析确认是基础工作,在对网络进行测试摸底之后,首先要针对各个小区进行单小区分析和统计,了解各个小区的实际覆盖情况,避免做出错误的判断。分析的内容包括天线接序核查、单小区覆盖越区核查、天线的旁瓣和背瓣覆盖核查、无覆盖小区核查。在单小区覆盖分析中主要有PCI、RSRP。下图为单小区覆盖图,大家可以针对我上面所讲的文字对照图片进行理解。

    2)天线接反核查:我们先看看现象描述,在日常网络优化过程中,经常会碰到由于工程问题导致天线接序错误等异常对网络质量造成的影响,如扇区接反导致同模小区切换影响SINR,扇区接反导致缺少邻区关系从而导致掉话等。对于扇区接反这一类覆盖异常的情况,我们常用的解决方法是在通过路测过程中发现问题并及时解决。我们通过现象看本质进行问题分析,对测试摸底数据进行分析,确定单小区的主覆盖方向上是否为同站其它小区覆盖,如果是则可能为天线接序错误。注意要考虑工参的准确性和PCI是否正确(PCI可能配置错误或者被改动)。发现问题,提出问题后,接下来就是解决问题,我们再看看是怎么解决的,解决方法就是针对存在天线接序问题的小区,需要进行工程整改。考虑到工程整改的需要时间,临时解决办法是调整修改邻区关系,配置需要的邻区关系和保证正常的切换。这样天线接反核查问题我们就解决了。

    3)天线的旁瓣和背瓣覆盖核查:现象描述,天线的旁瓣和背瓣方向存在较强覆盖信号,可能导致导频污染、SINR较差、切换问题等。通过现象描述我们对问题进行分析,对测试摸底数据进行分析,利用单小区的PCI覆盖分析功能,找出天线的旁瓣和背瓣方向存在较强覆盖信号的小区,逐个进行确认。导致天线旁瓣和背瓣覆盖较强的原因,可能有存在反射的情况,工程问题(如馈线接错接乱),系统问题(如基带和RRU天线的IQ数据交换关系错乱)、参数问题(如天线权值设置)、版本问题、天线问题等等。通过现象描述和问题分析,我们知道是天线的旁瓣和背瓣方向存在较强覆盖信号,所以我们针对这一问题提出解决方法,确认是否存在反射的情况,确认是否存在工程问题,进行其它可能原因的排查,针对不同情况进行处理。

    4)无覆盖小区核查,现象描述某个小区在测试区域内没有其测量值出现,针对这种现象需要对拉网摸底数据中没有使用到的小区进行排查,确认未占用该小区是因为覆盖问题还是小区故障问题。问题分析就是对测试摸底数据进行分析,利用PCI找出该网格域无覆盖小区。另外有一种方法也可以采用,也就是将各个主服务小区以及8个邻区的PCI与RSRP值导出形成EXCEL表,存在值的PCI列出与整个测试区域的PCI值进行对比,不存在的即为无覆盖的小区。解决方法就是确认小区状态是否正常,参数配置是否正常,确认该小区存在的位置及覆盖情况。

    5)下载速率分析(主要是流量分析):流量分析概述,LTE网络与以往技术不同处之一是:它是一个主要建立在数据业务上的网络。那么反映数据下载能力的下行流量,就成为衡量LTE系统性能的一个极其重要的指标。LTE的改进目标是实现更快的数据速率、更短的时延、更低的成本、更高的系统容量以及改进的覆盖范围。在3GPPLTE规范中,明显增加了峰值数据速率的要求,要求在20MHz带宽上达到100Mbit/s的下行传输速率和50Mbit/s的上行传输速率。在目前FDD-LTE网络建设的初级阶段,实际的网络优化过程中,遇到和速率相关的因素有很多,一般常见的有,弱覆盖,SINR差,系统内同频干扰,系统间干扰等。接下来看流量分析思路,首先检查问题区域站点是否存在告警,再检查该区域无线环境是否存在干扰或弱覆盖,若都没问题则需要从参数和传输上进行定位,如果都正常,那么就需要将问题描述和检查情况及时反馈给研发,由研发介入进行进一步定位。

    关于簇优化的知识,我大概讲这么多,有兴趣的同学,可以学习我们的免费课程。

    展开全文
  • 在《数据库原理》里面,索引的解释是:聚索引的顺序就是数据的物理存储顺序,而非聚索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚索引。 不过这个定义太...
  • 写在前面:索引查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将整个表进行...
  • MySQL聚索引和非聚索引的理解

    万次阅读 多人点赞 2019-07-10 00:41:45
    这里给出一篇翻译,并给出我的配图,希望大家理解有帮助。 英文原文:http://www.mysqltutorial.org/mysql-index/mysql-clustered-index/ 一、聚索引的概念 一般来说索引就是如B-树这类可以来存储键值方便...

    关于聚簇索引和非聚簇索引的概念很多同学找了很多教程但是仍然很迷糊。

    这里给出一篇翻译,并给出我的配图,希望对大家理解有帮助。

     

    英文原文:http://www.mysqltutorial.org/mysql-index/mysql-clustered-index/

    一、聚簇索引的概念

    一般来说索引就是如B-树这类可以来存储键值方便快速查找的数据结构。

    聚簇索引是物理索引,数据表就是按顺序存储的,物理上是连续的。

    一旦创建了聚簇索引,表中的所有列都根据构造聚簇索引的关键列来存储。

    (我的理解,所有的记录行都根据聚簇索引顺序存储,如按照主键Id递增方式依次物理顺序存储)

    因为聚簇索引是按该列的排序存储的,因此一个表只能有一个聚簇索引。

    二、MySQL中InnoDB表的聚簇索引

    每个InnoDB表都需要一个聚簇索引。该聚簇索引可以帮助表优化增删改查操作。

    如果你为表定义了一个主键,MySQL将使用主键作为聚簇索引。

    如果你不为表指定一个主键,MySQL讲索第一个组成列都not null的唯一索引作为聚簇索引。

    如果InnoBD表没有主键且没有适合的唯一索引(没有构成该唯一索引的所有列都NOT NULL),MySQL将自动创建一个隐藏的名字为“GEN_CLUST_INDEX ”的聚簇索引。

    因此每个InnoDB表都有且仅有一个聚簇索引。

     

    所有不是聚簇索引的索引都叫非聚簇索引或者辅助索引。

    在InnDB存储引擎中,每个辅助索引的每条记录都包含主键,也包含非聚簇索引指定的列。

    MySQL使用这个主键值来检索局促索引。

    因此应该尽可能将主键缩短,否则辅助索引占用空间会更大。

    一般来说用自增的整数型列作为主键列。

    -----------------------华丽分隔符-------------------

    简单解释

    聚簇索引和非聚簇索引

    下面举例聚簇索引和非聚簇索引的区别。

     

    注意:这里的主键是非自增的。普通索引K表示普通的索引非唯一索引。

     

     

     

    主键是采用B+Tree的数据结构(请看左图),根据上文可以知主键为聚簇索引,物理存储是根据ID的增加排序递增连续存储的。

    普通索引K也是B+Tree的数据结构(请看右图),但是它不是聚簇索引,因此为非聚簇索引或者辅助索引聚簇索引只可能是主键,或者所有组成唯一键的所有列都为NOT NULL的第一个唯一索引,或者隐式创建的聚簇索引这三种情况)。

    他的叶子节点存储的是索引列的值,它的数据域是聚簇索引即ID。

     

     

    假如普通索引k为非唯一索引,要查询k=3的数据。

    需要在k索引查找k=3得到id=30。

    然后在左侧的ID索引树查找ID=30对应的记录R3。

    然后K索引树继续向右查找,发现下一个是k=5不满足(非唯一索引后面有可能有相等的值,因此向右查找到第一个不等于3的地方),停止。

    整个过程从K索引树到主键索引树的过程叫做“回表”。

     

     

    更多进阶内容参考极客时间《MySQL45讲》

     

    创作不易,如果觉得本文对你有帮助,欢迎点赞,欢迎关注我,如果有补充欢迎评论交流,我将努力创作更多更好的文章。

    展开全文
  • 通俗点讲 聚索引:将数据存储与索引放到了一块,找到索引也...澄清一个概念:innodb中,在聚索引之上创建的索引称之为辅助索引,辅助索引访问数据总是需要二次查找,非聚索引都是辅助索引,像复合索引、前缀索引

    通俗点讲

    • 聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据
    • 非聚簇索引:将数据存储于索引分开结构,索引结构的叶子节点指向了数据的对应行,myisam通过key_buffer把索引先缓存到内存中,当需要访问数据时(通过索引访问数据),在内存中直接搜索索引,然后通过索引找到磁盘相应数据,这也就是为什么索引不在key buffer命中时,速度慢的原因

    澄清一个概念:innodb中,在聚簇索引之上创建的索引称之为辅助索引,辅助索引访问数据总是需要二次查找,非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引,辅助索引叶子节点存储的不再是行的物理位置,而是主键值

    何时使用聚簇索引与非聚簇索引

     

    聚簇索引具有唯一性

    由于聚簇索引是将数据跟索引结构放到一块,因此一个表仅有一个聚簇索引

    一个误区:把主键自动设为聚簇索引

    聚簇索引默认是主键,如果表中没有定义主键,InnoDB 会选择一个唯一的非空索引代替。如果没有这样的索引,InnoDB 会隐式定义一个主键来作为聚簇索引。InnoDB 只聚集在同一个页面中的记录。包含相邻健值的页面可能相距甚远。如果你已经设置了主键为聚簇索引,必须先删除主键,然后添加我们想要的聚簇索引,最后恢复设置主键即可

    此时其他索引只能被定义为非聚簇索引。这个是最大的误区。有的主键还是无意义的自动增量字段,那样的话Clustered index对效率的帮助,完全被浪费了。

    刚才说到了,聚簇索引性能最好而且具有唯一性,所以非常珍贵,必须慎重设置。一般要根据这个表最常用的SQL查询方式来进行选择,某个字段作为聚簇索引,或组合聚簇索引,这个要看实际情况。

    记住我们的最终目的就是在相同结果集情况下,尽可能减少逻辑IO

    结合图再仔细点看

     

     

    1. InnoDB使用的是聚簇索引,将主键组织到一棵B+树中,而行数据就储存在叶子节点上,若使用"where id = 14"这样的条件查找主键,则按照B+树的检索算法即可查找到对应的叶节点,之后获得行数据
    2. 对Name列进行条件搜索,则需要两个步骤第一步在辅助索引B+树中检索Name,到达其叶子节点获取对应的主键。第二步使用主键在主索引B+树种再执行一次B+树检索操作,最终到达叶子节点即可获取整行数据。(重点在于通过其他键需要建立辅助索引

    MyISM使用的是非聚簇索引,非聚簇索引的两棵B+树看上去没什么不同,节点的结构完全一致只是存储的内容不同而已,主键索引B+树的节点存储了主键,辅助键索引B+树存储了辅助键。表数据存储在独立的地方,这两颗B+树的叶子节点都使用一个地址指向真正的表数据,对于表数据来说,这两个键没有任何差别。由于索引树是独立的,通过辅助键检索无需访问主键的索引树

    聚簇索引的优势

    看上去聚簇索引的效率明显要低于非聚簇索引,因为每次使用辅助索引检索都要经过两次B+树查找,这不是多此一举吗?聚簇索引的优势在哪?

    1. 由于行数据和叶子节点存储在一起,同一页中会有多条行数据,访问同一数据页不同行记录时,已经把页加载到了Buffer中,再次访问的时候,会在内存中完成访问,不必访问磁盘。这样主键和行数据是一起被载入内存的,找到叶子节点就可以立刻将行数据返回了,如果按照主键Id来组织数据,获得数据更快
    2. 辅助索引使用主键作为"指针"而不是使用地址值作为指针的好处是,减少了当出现行移动或者数据页分裂时辅助索引的维护工作使用主键值当作指针会让辅助索引占用更多的空间,换来的好处是InnoDB在移动行时无须更新辅助索引中的这个"指针"也就是说行的位置(实现中通过16K的Page来定位)会随着数据库里数据的修改而发生变化(前面的B+树节点分裂以及Page的分裂),使用聚簇索引就可以保证不管这个主键B+树的节点如何变化,辅助索引树都不受影响
    3. 聚簇索引适合用在排序的场合,非聚簇索引不适合
    4. 取出一定范围数据的时候,使用用聚簇索引
    5. 二级索引需要两次索引查找,而不是一次才能取到数据,因为存储引擎第一次需要通过二级索引找到索引的叶子节点,从而找到数据的主键,然后在聚簇索引中用主键再次查找索引,再找到数据
    6. 可以把相关数据保存在一起。例如实现电子邮箱时,可以根据用户 ID 来聚集数据,这样只需要从磁盘读取少数的数据页就能获取某个用户的全部邮件。如果没有使用聚簇索引,则每封邮件都可能导致一次磁盘 I/O。

    聚簇索引的劣势

    • 维护索引很昂贵,特别是插入新行或者主键被更新导至要分页(page split)的时候。建议在大量插入新行后,选在负载较低的时间段,通过OPTIMIZE TABLE优化表,因为必须被移动的行数据可能造成碎片。使用独享表空间可以弱化碎片
    • 表因为使用UUId(随机ID)作为主键,使数据存储稀疏,这就会出现聚簇索引有可能有比全表扫面更慢

    强烈建议使用int的auto_increment作为主键,并且每个表中一定要设定主键,并且主键为int auto_increment。

    主键的值是顺序的,所以 InnoDB 把每一条记录都存储在上一条记录的后面。当达到页的最大填充因子时(InnoDB 默认的最大填充因子是页大小的 15/16,留出部分空间用于以后修改),下一条记录就会写入新的页中。一旦数据按照这种顺序的方式加载,主键页就会近似于被顺序的记录填满(二级索引页可能是不一样的)

    1. 如果主键比较大的话,那辅助索引将会变的更大,因为辅助索引的叶子存储的是主键值;过长的主键值,会导致非叶子节点占用占用更多的物理空间

    为什么主键通常建议使用自增id

    聚簇索引的数据的物理存放顺序与索引顺序是一致的,即:只要索引是相邻的,那么对应的数据一定也是相邻地存放在磁盘上的。如果主键不是自增id,那么可以想 象,它会干些什么,不断地调整数据的物理地址、分页,当然也有其他一些措施来减少这些操作,但却无法彻底避免。但,如果是自增的,那就简单了,它只需要一 页一页地写,索引结构相对紧凑,磁盘碎片少,效率也高。

    因为MyISAM的主索引并非聚簇索引,那么他的数据的物理地址必然是凌乱的,拿到这些物理地址,按照合适的算法进行I/O读取,于是开始不停的寻道不停的旋转聚簇索引则只需一次I/O。(强烈的对比)

    不过,如果涉及到大数据量的排序、全表扫描、count之类的操作的话,还是MyISAM占优势些,因为索引所占空间小,这些操作是需要在内存中完成的

    mysql中聚簇索引的设定

    聚簇索引默认是主键,如果表中没有定义主键,InnoDB 会选择一个唯一的非空索引代替。如果没有这样的索引,InnoDB 会隐式定义一个主键来作为聚簇索引。InnoDB 只聚集在同一个页面中的记录。包含相邻健值的页面可能相距甚远。

    展开全文
  • SQL 优化

    2020-12-15 20:01:58
    微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、集索引)和非聚集索引(nonclustered index,也称非聚类索引、非集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: ...
  • batch 梯度下降法J代价函数的不同用1个样本为一个mini-batch和全部样本为一个mini-batch举例合理的大小指数加权平均理解指数加权平均指数加权平均的偏差修正动量梯度下降法优化成本函数RMSprop算法Adam 优化算法...
  • 理解MySQL——索引与优化

    千次阅读 2017-12-11 11:36:05
    写在前面:索引查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将整个表进行...
  • Mysql数据库索引的理解及聚索引和非聚索引的区别 概念 索引是帮助Mysql搞笑获取数据的数据结构 Mysql数据库来讲,其核心就是存储引擎,而索引就是属于存储引擎级别的概念,不同的存储引擎索引的实现方式是...
  • MySQL聚索引

    2021-01-18 22:42:48
    MySQL作为迭代了很多个版本的数据库。...MySQL官方索引的定义是,聚索引并不是一种单独的索引类,而是一种数据存储方式,第一次看到这段描述,我相信很多人都会一头雾水,索引是一种数据存储结构?这...
  • 特别是面试官抛出一个比较宽泛的问题,例如:谈谈你MySQL索引的理解。这种问题其实面试者是很有益的,越宽泛越有可能涉及到你熟悉的区域。 01 明确题意 明确题意的意思就是先明确一下面试官的题目,能避免自己...
  • mysql优化个人理解

    千次阅读 2018-05-21 00:10:27
    mysql优化个人理解 MySQL逻辑架构 MySQL逻辑架构,来自:高性能MySQL mysql支持多种存储引擎,这里只讨论innodb。存储引擎负责和底层打交道,类似linux。中间的服务层通过API与存储引擎通信,接口隔离实现。...
  • 索引B-Tree: 一般来说, MySQL 中的 B-Tree 索引的物理文件大多都是以 B+tree的结构来存储的,也就是...MySQL 的各种存储引擎)在存放自己的 B-Tree 索引的时候会存储结构稍作改造。如 Innodb 存储引擎的 B-T...
  • 索引如果不是主键索引的话,那他的新建索引是基于主键的,在新建索引树的节点下找到的是该字段对应的主键 2.非聚索引 InoDB引擎 --------聚索引 对于InoDB来说:必定有一个主键,如果没有主键的则会...
  • Kmeans算法及相关优化

    千次阅读 2019-06-28 20:30:47
    Kmeans算法及相关优化Kmeans算法简介初始类中心点的选取K值的选取算法流程相关优化补充优点缺点LOF离群点检测算法Kmeans的K值自适应优化算法KNN邻近算法交叉验证 本文主要参考...
  • 面试官:谈谈你索引的理解

    千次阅读 2019-11-14 23:37:27
    同时在我们建立索引的过程中索引也占用了一定的磁盘空间,所以在合适的情况下使用索引我们优化sql才是有帮助的。 索引的分类: 根据逻辑分类:1、主键索引,也称为聚蹙索引,是特殊的唯一索引; 2、普通索引,也称为...
  • 索引和非聚索引(通俗易懂 言简意赅)

    千次阅读 多人点赞 2020-06-23 19:09:36
    总结:InnoDB中,表数据文件本身就是按B+Tree组织的一个索引结构,聚索引就是按照每张表的主键构造一颗B+树,同时叶子节点中存放的就是整张表的行记录数据,也将聚集索引的叶子节点称为数据页。这个特性决定了索引...
  • MySQL索引优化

    千次阅读 2021-03-09 16:25:41
    在MySQL中,我们经常会为表中的某些字段建立索引,那么怎么通过索引优化我们的查询呢? 索引的分类与基本概念 索引可以分为以下五种: 普通索引:仅加速查询。 唯一索引:普通索引+列值唯一(可以有null)。 ...
  • mysql聚索引和非聚索引

    千次阅读 2020-03-15 20:17:12
    这篇文章主要介绍mysql中innodb的聚索引和非聚索引,那首先我们要先看下聚索引和非聚索引的概念是什么,是干什么用的. 聚索引和非聚索引的概念 我们先引用官网上的一段话来看看它们是干嘛的 Every InnoDB ...
  • MySQL索引优化总结

    千次阅读 2021-09-29 23:17:15
    本篇博客详细的介绍了索引优化的20个原则,只要在工作中能够随时应用到,相信你写出的SQL能够命中索引,效率杠杠的。 一、索引的分类 1.1、普通索引、主键索引和唯一索引 1.2、聚集索引和非聚集索引 1.3、联合...
  • 数据库大数据量的优化方案

    千次阅读 2022-03-04 21:36:40
    在系统开发的初期以及使用的初期,一般不会太过于在意数据库的设计以及sql语句的优化,这就会导致系统有可能在日积月累的海量数据下越来越慢直至崩溃,所以以后在系统 数据库设计之初完备的数据库模型的设计是必须的...
  • 1、首先要明白无名无实莫要用索引:因为数据中的记录很多,为了方便我们查找,提高查询的效率;...建立的索引只该字段有用,如果查询的字段改变,那么这个索引也就无效了,比如图书馆的书是按照书名的第一
  • 超级全面的MySQL优化面试解析

    千次阅读 多人点赞 2019-09-02 10:13:40
    作者:Anwen juejin.im/post/5c6b9c09f265da2d8a55a855 ... SpringBoot内容聚合 ...为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相...
  • 其实之前在学校的数据库课程上,我一直以为聚索引是一种索引类型,然后结合InnoDB存储引擎,自然而然的便认为聚索引即表中的B+树主键索引,殊不知一直理解的是错误的概念,前阵子在学习<高性能MySQL>这...
  • 在《数据库原理》里面,索引的解释是:聚索引的顺序就是数据的物理存储顺序,而非聚索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚索引。 不过这个定义太...
  • [译]寻路优化

    千次阅读 2020-12-16 17:56:41
    寻路很多游戏来讲都是不可或缺的元素,在一般的游戏中,使用一些基本的寻路算法(譬如 BFS, Dijkstra 或者 A* 等等)就可以很好的解决寻路问题,但是在另一些游戏中,尤其是在游戏地图比较庞大的情况下,这些基本寻路算法...
  • 数据库优化 index merge 的理解

    千次阅读 2018-08-29 16:06:28
    自认为索引还比较熟悉,专门抽时间验证了一下各位的说法.记录下来用来加深理解; 先说说对于这段sql大家的理解: 不用索引 只用一个索引 有人理解为联合索引,联合索引全表扫描 or 只用一个索引,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,135
精华内容 10,454
关键字:

对簇优化的理解