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

自己网站怎么做百度优化北京海淀工商局网站

自己网站怎么做百度优化,北京海淀工商局网站,手机如何建网站,安远县城乡规划建设局网站索引的优点 减少了服务器需要扫描的数据量帮助服务器避免排序和临时表将随机I/O变成顺序I/O 索引的类型 B-Tree索引 B-TREE通常就意味着里面存储的所有值都是有序的#xff0c;并且查询的时候#xff0c;不用全表扫描#xff0c;而是按照索引结构查找#xff0c;所以会更…索引的优点 减少了服务器需要扫描的数据量帮助服务器避免排序和临时表将随机I/O变成顺序I/O 索引的类型 B-Tree索引 B-TREE通常就意味着里面存储的所有值都是有序的并且查询的时候不用全表扫描而是按照索引结构查找所以会更快INNODB使用的BTREEBTREE是B-TREE的一个变种区别是BTREE为所有叶子结点增加了一个存储指向下个叶子结点的链指针和所有关键字都在叶子结点中出现. 适用的查询范围 全值匹配。和索引中的所有列进行匹配。匹配最左前缀。多列索引的最左前缀原则。例如一个多列索引为A,B,C当你的查询中包括A或A,B或A,B,C都可以用到索引如果只有B则无法用到该索引。匹配列前缀。像like abc%可以用到索引而like %abc%就无法用到该类索引。匹配范围值。其实就是范围查询但当多列索引中有一列用到范围查询时那么该列后面的索引都没法被用到。例如一个索引为A,B,C又一个查询为where A1, B1, C1,那么这个查询只会用到A,B,C中的A,B列C是不会被用到。只访问索引的查询。其实就是覆盖索引查询。hash索引 哈希索引是基于哈希表实现在MySQL中目前只有Memory引擎支持哈希索引。 适用场景 不支持场景 哈希索引 只支持等值比较查询 1、哈希索引的数据并不是按照索引值顺序存放的因此无法用于排序查找和范围查找 2、不支持部分索引列按匹配查找使用索引列的全部内容来计算哈希值 高性能索引策略 1 独立的列 索引列不能是表达式的一部分也不能是函数的参数 2 前缀索引和索引选择性 索引选择性不重复的索引值和数据表记录总数T的比值取值范围是从1/T ~1之间。索引的选择性越高查询效率越高。唯一索引的选择性是1。 前缀索引某个列太长比如varchar类型很长的列则必须使用前缀索引。关键在选择足够长的前缀保证较高的选择性但又不能太长。方法找到最常见的值列表然后和最常见的前缀列表进行比对然后逐渐增加前缀长度直到前缀的选择性接近于完整列的选择性。 select count(distinct city) / count(*) from city_demo; mysql select count(distinct left(city,3))/count(*) as sel3,     - count(distinct left(city,4))/count(*) as sel4,     - count(distinct left(city,5))/count(*) as sel5,     - count(distinct left(city,6))/count(*) as sel6     - from city_demo; -------------------------------- | sel3   | sel4   | sel5   | sel6   | -------------------------------- | 0.3367 | 0.4075 | 0.4208 | 0.4267 | -------------------------------- 1 row in set (0.01 sec) mysql 缺点mysql无法使用其前缀索引做ORDER BY和GROUP BY也无法使用前缀索引做覆盖扫描 3 多列索引 建立多列索引那么选择合适的顺序相当重要。对于如何选择合适的索引顺序有一个经验法则将选择性最高的列放到索引最前列。 4 聚簇索引 聚簇索引把数据行存储在叶子页中一个表中只能有一个聚簇索引。InnoDB存储引擎支持聚簇索引在InnoDB中聚簇索引其实就是主键索引。如果表中没有定义主键InnoDB会选择一个唯一非空索引作为主键。如果没有这样的索引InnoDB会隐式的定义一个主键来作为聚簇索引。聚簇索引的优点如下 可以把相关数据保存在一起。数据访问更快。使用覆盖索引扫描的查询可以直接使用页节点中的主键值。 如果表在设计和查询的时候能充分利用以上特点将会极大提高性能。 当然聚簇索引也有它的缺点 聚簇索引最大限度提高了I/O密集型应用的性能但如果所有的数据都存放在内存中聚簇索引就没有优势了。插入速度严重依赖插入顺序。这也是为什么InnoDB一般都会设置一个自增的int列作为主键。更新聚簇索引的代价很高因为会强制InnoDB将每个被更新的行移到新的位置。如果不按顺序插入新数据时可能会导致页分裂。二级索引可能会比想象的更大。因为在二级索引的页子节点中包含了引用行的主键列。二级索引访问可能会需要进行回表查询。 5 覆盖索引 如果一个索引包含或覆盖所有需要查询的字段值我们就称之为“覆盖索引”。 覆盖索引是一个非常有用的工具可以极大的提升性能。所以可能一个索引对于某些查询是覆盖索引而对于其他的查询则不是。覆盖索引其实是二级索引的特例它满足了一个特定条件 索引行通常远小于数据行的大小所以如果只需要索引那么MySQL就会极大地减少数据访问量。因为索引是按照顺序存储的所以对于I/O密集型的范围查询会比随机从磁盘读取每一行数据的I/O要少的多。由于InnoDB的聚簇索引所以覆盖索引对InnoDB特别有用。 当发起一个覆盖查询的时候在Explain中的Extra列中可以看到“Using index”的信息。对于select *没有任何一个索引能够覆盖所有列。所以select * 可能会导致原本可以用到覆盖索引的查询而无法使用覆盖索引。 6 索引条件下推(ICP) ICP的目的是通过减少完整记录读取的数量来减少IO操作。在没有ICP的时候WHERE条件中没有被索引用到的列的过滤是在MySQL服务层中而有了ICP之后这种过滤就直接在储存引擎层中完成了而且是在二级索引回表查询前就完成了过滤这就避免了大量数据传输从而降低磁盘IO。
http://wiki.neutronadmin.com/news/44642/

相关文章:

  • 中咨城建设计有限公司 网站智能网站推广优化
  • 行业网站联盟电商可以从事的行业有哪些
  • 如何在百度云上建设网站wordpress 大学 1.3
  • 报名网站建设费用价格怎么做网站教程+用的工具
  • 宣传型网站建设积分商城系统
  • 培训 网站 模板数据推广是干什么的
  • 深圳市网站建设外包公司排名o2o网站线上
  • 三站合一 网站建设wordpress 手机端异常
  • 网站dns解析医疗企业vi设计公司
  • 网站主题网wordpress查询次数
  • 做政务网站电子商务就是网络营销
  • 晋中建设集团网站手机制作网站免费
  • 容易导致网站作弊的几个嫌疑wordpress 访问密码
  • 开发app的网站有哪些seo专业培训学费多少钱
  • 网页游戏网站快手河北邢台特色美食
  • 源码之家免费济南网络优化推广
  • 外贸接单网站如何修改网站
  • 那些网站能够做推广wordpress收录主题
  • 羽贝网站建设网站开发使用软件有哪些
  • 怎样建设自己的视频网站首页vue做的网站域名汇总
  • 保定哪家做网站公司好工地建筑劳务公司招工平台
  • 导航类网站模板网站的专题怎么做
  • 大连网站开发 简维科技网站线框
  • 如何做网站推广精宝塔有WordPress
  • 找网站做外链是什么意思品牌网站建设只询大蝌蚪
  • 网站建设推广浩森宇特室内设计培训课程
  • 建设银行的登录网站石家庄网站建设外包公司排名
  • 宁夏电力建设工程公司门户网站福田网站建设标准数据
  • 海淀做网站哪家公司好58上怎么做装修网站
  • 宁波网站推广公司报价项目代理