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

织梦做导航网站国内真正的免费建站

织梦做导航网站,国内真正的免费建站,佛山黄页大全佛山本地信息网,如何优化政府门户网站建设👏作者简介:大家好,我是小周同志,25届双非校招生Java选手,很高兴认识大家 📕学习出处:本文是学自小林coding (xiaolincoding.com) 网站的MYSQL图解篇 🔥如果感觉博主的文章还不错的…

👏作者简介:大家好,我是小周同志,25届双非校招生Java选手,很高兴认识大家

📕学习出处:本文是学自小林coding (xiaolincoding.com) 网站的MYSQL图解篇

🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦

有什么优化索引的方法?

前缀索引优化

就是使用 某个字段中字符串的前几个字符 建立索引

  • 为什么需要前缀来建立索引呢?

    • 为了减小索引字段大小,可以增加一个索引页中存储的索引值,有效提高索引的查询速度。

    • 在一些大字符串的字段作为索引时,使用前缀索引可以帮助我们减小索引项的大小。

  • 前缀索引的局限性:

    • order by 就无法使用前缀索引

    • 无法把前缀索引用作覆盖索引

覆盖索引优化

覆盖索引就是只需要 二级索引的b+树 就能得到需要查询的数据,而不需要 主键索引的b+树,减少了回表操作

  • 比如 select id where name = 'aaa'; 其中主键索引id,name是二级索引。

    • 这里会用到 覆盖索引,因为二级索引b+树的叶子节点就是主键索引的id。因为查询只需要查询id所以就减少了回表操作,不需要再回表到主键索引通过的b+树去查询数据了。

主键索引最好是自增的

  • 如果主键索引是自增的:

    • 那么每次插入的新数据就会按顺序添加到当前索引节点的位置,不需要移动已有的数据,当页面写满,就会自动开辟一个新页面。因为每次插入一条新记录,都是追加操作,不需要重新移动数据,因此这种插入数据的方法效率非常高。

  • 如果我们使用非自增主键:

    • 由于每次插入主键的索引值都是随机的,因此每次插入新的数据时,就可能会插入到现有数据页中间的某个位置,这将不得不移动其它数据来满足新数据的插入,甚至需要从一个页面复制数据到另外一个页面,我们通常将这种情况称为 页分裂页分裂还有可能会造成大量的内存碎片,导致索引结构不紧凑,从而影响查询效率。(因为一个数据页只能存16KB)

因此,在使用 InnoDB 存储引擎时,如果没有特别的业务需求,建议使用自增字段作为主键。

另外,主键字段的长度不要太大,因为主键字段长度越小,意味着二级索引的叶子节点越小(二级索引的叶子节点存放的数据是主键值),这样二级索引占用的空间也就越小

索引最好设置为 NOT NULL

为了更好的利用索引,索引列要设置为 NOT NULL 约束。有两个原因:

  • 原因一:索引值为NULL,会使优化器在做索引选择时更加复杂,更加难以优化。比如进行索引统计时,count 会省略值为NULL的行。

  • 原因二:NULL是个没意义的值,会占用物理空间。因为 InnoDB 存储记录时,如果表中存在允许为NULL的字段,那么行格式中 至少会用 1字节空间存储NULL值列表。

防止索引失效

用上了索引并不意味着查询的时候用上了索引。有些情况会导致索引失效。

生索引失效的情况:

  • 当我们使用左或者左右模糊匹配的时候,也就是 like %xx 或者 like %xx%这两种方式都会造成索引失效;

  • 当我们在查询条件中对索引列做了计算、函数、类型转换操作,这些情况下都会造成索引失效;

  • 联合索引要能正确使用需要遵循最左匹配原则,也就是按照最左优先的方式进行索引的匹配,否则就会导致索引失效。

  • 在 WHERE 子句中,如果在 OR 前的条件列是索引列,而在 OR 后的条件列不是索引列,那么索引会失效。

http://www.tj-hxxt.cn/news/53897.html

相关文章:

  • 专门做特卖的网站是什么下载百度app并安装
  • 网站怎么做微信送红包活动宁波seo免费优化软件
  • 上海网页设计公司推荐兴田德润泰州网站建设优化
  • 大连网站建设是什么河南网站公司
  • 任丘做网站价格竞价外包代运营公司
  • 做图表的网站 免费南宁seo外包靠谱吗
  • 毕设做网站难吗工具刷网站排刷排名软件
  • 开源网站开发文档下载网店运营的工作内容
  • php如何给网站做支付接口营销策略怎么写
  • windows.net做网站整站优化深圳
  • 昆明seo怎么做seo网络推广培训
  • 百度做的网站迁移网络营销的六大特征
  • 手机网站设计教程威海百度seo
  • 做网站最好的软件是怎么去推广自己的网站
  • 做网站需要向客户了解什么简述网站推广的意义和方法
  • 安徽p2p网站建设自建网站平台有哪些
  • 盘锦做网站seo品牌
  • 天津品牌网站制作微信营销的10种方法技巧
  • 手机做网站服务器吗seo经验
  • 网站建设的好处产品运营主要做什么
  • 给公司建网站快速整站排名seo教程
  • 网站框架模板网址域名
  • wordpress footer怎么设置杭州网站建设 seo
  • seo网站做推广群发软件
  • 17网站一起做网店潮汕档口商务网站如何推广
  • 网站侧边栏代码互联网运营主要做什么
  • 网站开发技术对比网络营销策划
  • 广州市口碑好的网站制作排名免费推客推广平台
  • 秦皇岛网站建设报价百度下载app下载安装到手机
  • 曲靖网站制作公司域名被墙查询