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

厦门网站公司南京医院手机网站建设

厦门网站公司,南京医院手机网站建设,嵌入式培训机构排名,电子商务网站建设论文结论索引是帮助存储引擎快速获取数据的一种数据结构#xff0c;形象的说就是索引是数据的目录。 索引创建的时机#xff1a; 索引并不是越多越好的#xff0c;虽然他再查询时会提高效率#xff0c;但是保存索引和维护索引也需要一定的空间和时间成本的。 不创建索引#xff1a… 索引是帮助存储引擎快速获取数据的一种数据结构形象的说就是索引是数据的目录。 索引创建的时机 索引并不是越多越好的虽然他再查询时会提高效率但是保存索引和维护索引也需要一定的空间和时间成本的。 不创建索引 当字段是类似于男/女这种的就没必要创建索引了因为这样查询索引还是会查询到很多数据没有给我们提升什么效率而且MySQL 还有一个查询优化器查询优化器发现某个值出现在表的数据行中的百分比很高的时候它一般会忽略索引进行全表扫描。当字段经常更新时也最好不要建立索引因为随着数据的更新为了维护B树的有序性B树也要进行更新调整经常性的更新太浪费数据库性能了。如果经常再查询语句中经常用不到的字段也不要创建索引了反而浪费。数据库数据少的时候也不用创建 创建索引 字段具有唯一性如学号等这样查询提高效率很高。经常被where作为查询条件的字段可以创建索引。经常被Order By、Group By 使用的字段因为B树本身具有有序性当使用这两个查询语句时无需再对字段进行排序了。 优化索引的方法 前缀索引优化 前缀索引是拿某个字段的字符串的前几个字符建立索引。 只拿前几个字符作为索引节点那就减小了索引的节点大小降低了索引所占据的空间一个页内存储更多的索引节点更多提高了查询效率。但是前缀索引无法运用再Order By语句中且无法把前缀索引作为索引覆盖。 覆盖索引优化 Select  sex  From student  where name ‘张三’  索引覆盖如果只根据name创建索引的话那么再这个索引只能查询到张三的id此时需要拿着这个id去主键索引中查询sex进行回表操作。而当根据name、和sex创建了联合索引后就不需要进行回表操作了直接再这个索引中查询到sex这一步就叫做索引覆盖。  所以当我们经常根据一个非主键字段查询另一个非主键字段的话可以建立联合索引避免回表操作。 主键索引最好是自增 InnoDB 创建主键索引默认为聚簇索引数据被存放在了 BTree 的叶子节点上。也就是说同一个叶子节点内的各个数据是按主键顺序存放的因此每当有一条新的数据插入时数据库会根据主键将其插入到对应的叶子节点中。 如果我们使用自增主键那么每次插入的新数据就会按顺序添加到当前索引节点的位置不需要移动已有的数据当页面写满就会自动开辟一个新页面。因为每次插入一条新记录都是追加操作不需要重新移动数据因此这种插入数据的方法效率非常高。 如果我们使用非自增主键由于每次插入主键的索引值都是随机的因此每次插入新的数据时就可能会插入到现有数据页中间的某个位置这将不得不移动其它数据来满足新数据的插入甚至需要从一个页面复制数据到另外一个页面我们通常将这种情况称为页分裂。页分裂还有可能会造成大量的内存碎片导致索引结构不紧凑从而影响查询效率。 是不是一定要自增呢 当某一个业务量增长非常快数据量非常大数据库性能无法满足业务需求的时候通常会实施分库分表这个时候自增主键就不适用了比如订单表分成16个表如果都使用自增的话肯定会造成订单id重复所以此时的解决方案就是分布式id保证趋势递增即可。 主键字段的长度不要太大因为主键字段长度越小意味着二级索引的叶子节点越小二级索引的叶子节点存放的数据是主键值这样二级索引占用的空间也就越小。 索引最好设置为 NOT NULL 索引列存在 NULL 就会导致优化器在做索引选择的时候更加复杂更加难以优化因为可为 NULL 的列会使索引、索引统计和值比较都更复杂比如进行索引统计时count 会省略值为NULL 的行。 NULL 值是一个没意义的值但是它会占用物理空间所以会带来的存储空间的问题因为 InnoDB 存储记录的时候如果表中存在允许为 NULL 的字段那么行格式 中至少会用 1 字节空间存储 NULL 值列表。 防止索引失效 我们设置了索引并不意味着一定会用上索引再某些情况下索引也会失效。 当我们使用左或者左右模糊匹配的时候也就是 Link %x 或者 Link %x% 这两种方式都会造成索引失效当我们在查询条件中对索引列做了计算、函数、类型转换操作这些情况下都会造成索引失效联合索引要能正确使用需要遵循最左匹配原则也就是按照最左优先的方式进行索引的匹配否则就会导致索引失效。在 WHERE 子句中如果在 or 前的条件列是索引列而在 or 后的条件列不是索引列那么索引会失效。
http://www.zqtcl.cn/news/33455/

相关文章:

  • 山东德铭工程建设公司网站wordpress用户前端发布
  • 福千欣隆网站建设公司怎么样手机下载视频网站模板下载
  • 网站标题应怎设置如何推广短视频
  • 网站建设公司全国排行广告设计的工作内容
  • 电脑网站 发展移动端北京建设工程交易网站官网
  • 大中小网站的区分网站备案被拒
  • 代做网站关键词ip138查询域名查询
  • 网站里怎样做点击量查询深圳燃气公司排名
  • 做网站好还是app好网站免费下载安装大全手机版
  • 网站设计建设公司需要什么资质全国企业信用信息公示系统查询入口
  • 万云网络网站seo行业岗位有哪些
  • 做外贸没网站可以吗wordpress搞笑主题
  • rails开发的网站开发南宁网站制作公
  • php网站开发技术 pdf网页设计尺寸的分辨率
  • 蓝海国际版网站建设系统网站制作服务合同
  • 上海网站建设不好网站上传大马后怎么做
  • 中国空间站和国际空间站对比免费企业网站源码
  • 济南网站建设第六网建抢注域名网站
  • 网站建设资质惠州网站建设是什么意思
  • 网站建设与发布需要什么东道设计招聘
  • 哪个网站可以做全景图世赛网站开发
  • 北京做网站的公司国外室内设计案例网站
  • 制作哪个网站好成都打鱼网站建设
  • 免费的行情网站推荐下载安装个人网站怎么备案可以做哪些
  • 新网站关键词怎么优化网站设计流程图
  • 制作个人业务网站wordpress输出
  • 阿里做网站带搜索的下拉框网站
  • 建设银行网站公告在哪个安装wordpress
  • html怎么做网站的背景国外最新设计产品
  • 北京 酒店 企业 网站建设交互设计的方法和技巧