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

橙子建站有风险吗百度指数pc版

橙子建站有风险吗,百度指数pc版,婚庆素材网站免费,网站关键词在哪里添加对经常查询的区分度高的条件字段建立索引,也就是用在where条件里的字段。使用没有建立索引的非主键字段作为条件查询时,会进行全表扫描,因为这个字段的数据分步是不规律的,但是需要避免在频繁更新的字段上建立索引,因为…
  1. 对经常查询的区分度高的条件字段建立索引,也就是用在where条件里的字段。使用没有建立索引的非主键字段作为条件查询时,会进行全表扫描,因为这个字段的数据分步是不规律的,但是需要避免在频繁更新的字段上建立索引,因为索引维护成本高。


  2. 要尽量做到覆盖索引,覆盖索引是指索引包含查询所需的所有字段,查询的字段中尽可能不包含id和where条件以外的字段,如果有的话可以考虑是否可以和where条件中的字段建立联合索引,避免回表查询,因为如果查询的字段不在当前索引中的时候,where条件中会把符合的数据id筛选出来,然后再次通过id去查询相应的字段,导致性能降低。


  3. 遵循最左前缀法则,避免索引失效。最左前缀指的是例如建立了一个联合索引(A,B,C),如果where条件中包含A则可以走索引查询,包含A和B也可以走索引,包含A,B,C也可以走索引,但是如果不包含A条件,则索引就会失效,需要注意的是查询条件中字段的顺序不影响最左前缀,只要包含最左字段即可,但在order by和group by中需要保持顺序与索引一致。


  4. 查询的时候避免全表扫描,通过explain分析查询语句的type列是不是all,是的话代表是全表扫描,看看是不是没有建立索引或者索引失效。


  5. 避免回表查询,要知道一个表只有一个聚集索引,其他的都是辅助索引,聚集索引一般是主键索引,聚集索引的叶子节点存储行数据,非聚集索引的叶子节点存储主键值。回表即通过非聚集索引查到主键后,再查聚集索引获取完整数据。回表的流程就是,当通过某个辅助索引查询到索引位置时,得到主键id、此时如果发现有name或者title字段这些没在索引中的字段,则需要吧获得的主键id拿回去查一遍聚集索引,这也就是回表查询,会导致性能降低,这也是为什么尽量查询的时候不用用select *的原因。


  6. 对limit进行优化,当数据量过大的时候,如果取第2000000万条数据的后面10条数据,也就是2000000~2000009的数据,此时如果直接【select * from table limit 2000000, 10;】的话,想当于你查询了两百万条的数据。因为在查询的时候数据库会对数据进行排序,然后拿出第2000000万条后的10条数据给你。但是我们通过主键查询的话,就可以直接获取到聚集索引上的数据,性能可以提高很多,可以考虑先获取到第2000000万条后的10条数据的id。但是where条件里面是不能有包含limit的子查询的,所以可以考虑通过join的方式进行联表查询获取数据,还可以进行游标分页,如【select * from table where id > 2000000 order by id limit 10;】。


  7. 插入数据的id,如果不是自增id,需要考虑尽量顺序插入,如果随机插入的话会导致页分裂,页分裂会导致产生磁盘碎片和写入性能下降。另外,自增主键适用于单机场景,分布式场景可使用雪花算法或 UUID v7(时间有序)。


  8. 对order by和group by的字段进行优化,建立相关的索引,需要注意的是创建索引的时候,默认是升序排列的,此时如果order by的字段是降序则会倒序排列,性能不差,但是如果排序字段是一升一降,导致索引的排序没法生效,此时可以考虑创建order by的字段相关索引。另外,order by和group by也是需要满足最左前缀法则的,区别在于where条件中只要包含最左字段即可,顺序并不固定,order by和group by 则是要求顺序也一致。


  9. 对长文本字段进行查询,可以考虑建立前缀索引,提高查询效率,使用公式select count(distinct substring(column, 1, 10)) / count(*)进行分析,查看合适的前缀数量,太少了匹配度很低,太长了索引空间又太大,上述公式的值小于等于1,代表的含义就是字段里面通过前10个字符来建立索引的话,有相应的概率找到某一条数据。如果是1,也就是100%,此时通过前缀可以锁定某一条数据,如果是0.9,那么代表数据里面有部分数据的前缀是相同的,但是此时可能只需要通过前4-5个字符建立索引,节省了索引空间。前缀索引的缺点就是无法覆盖排序和范围查询。


  10. 批量插入数据,在需要插入很多数据的时候,避免一条条地重复插入,而是考虑批量插入,降低事务的开销。在数据达到百万级的时候可以考虑通过文件的方式导入数据,比如MySQL就提供了专门导出数据的工具mysqldump和导入命令load data local infile。


  11. 高并发场景下考虑通过主从复制的机制实现读写分离。

http://www.dtcms.com/wzjs/447113.html

相关文章:

  • 网建部seo是什么的
  • 北京网站建设 app软文写手兼职
  • wordpress做双语网站网站内容管理系统
  • 自己做网站 什么宁波seo外包推广平台
  • 信誉好的菏泽网站建设百度竞价推广计划
  • 一个公网ip可以做几个网站网络seo关键词优化技术
  • 如何说明学校网站建设情况做百度推广代运营有用吗
  • 网站结构设计怎么写黄冈网站推广软件费用是多少
  • wordpress有游客注册帐号功能网站seo综合诊断
  • 网站建设惠州seo营销是什么意思
  • 先进网站建设流程兔子bt樱桃搜索磁力天堂
  • java web 做购物网站网络营销的网站建设
  • 网站建设案例精英推广引流的10个渠道
  • 移动网站开发书籍百度助手app下载
  • wordpress登录后转到wp首页兰州seo网站建设
  • 沧州做网站的公司南京疫情最新消息
  • wordpress安装语言设置中文杭州百度首页优化
  • 如何做淘宝网网站域名专门开发小程序的公司
  • 网站的优势是什么意思怎么样建一个网站
  • 网站开发语言net网上怎么推销自己的产品
  • 网站开发 文档网站制作的步骤
  • 北京东宏建设网站百度app内打开
  • 分销商平台如何做好关键词的优化
  • 网上开店需要营业执照吗网站seo推广排名
  • 资源网站怎么做搜索引擎优化seo价位
  • 网站防劫持怎么做北京网站优化企业
  • 做设计兼职的网站有哪些工作厦门seo计费
  • 中建八局第一建设有限公司青岛分公司旺道seo推广有用吗
  • wordpress源代码怎么看优就业seo课程学多久
  • 网站源码.netseo是哪个国家