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

iis7.5添加php网站星巴克网络营销案例分析

iis7.5添加php网站,星巴克网络营销案例分析,个人成立公司怎么做企业网站,wordpress设置投稿者上传功图片文章目录 前言mongoDB 性能优化1. explain方法来查看查询的执行计划2. 查看mongoDB 集合的索引3. mongoDB 怎么添加索引4. 升序索引与降序索引是什么意思 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易…

文章目录

  • 前言
    • mongoDB 性能优化
      • 1. explain方法来查看查询的执行计划
      • 2. 查看mongoDB 集合的索引
      • 3. mongoDB 怎么添加索引
      • 4. 升序索引与降序索引是什么意思

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


mongoDB 性能优化

1. explain方法来查看查询的执行计划

使用explain方法来查看查询的执行计划。explain方法提供了关于查询性能的详细信息,包括查询使用的索引、文档的扫描数量等。

db.collection.find(query).explain("executionStats")

executionStats参数告诉MongoDB只返回执行统计信息。
示例:
在这里插入图片描述

在这里插入图片描述

执行上述查询后,MongoDB会返回一个包含执行计划信息的文档。你可以查看该文档来分析查询的性能。

  • plannerVersion: 查询规划器的版本。
  • namespace: 查询的命名空间(数据库和集合)。
  • executionSuccess: 指示查询是否成功执行。
  • nReturned: 返回的文档数量。
  • executionTimeMillis: 查询的执行时间(以毫秒为单位)。
  • winningPlan,它提供了MongoDB选择的执行计划的详细信息,包括使用的索引、扫描的文档数量等。
    winningPlan是MongoDB查询执行计划中的一个关键部分,它描述了MongoDB选择的执行计划,包括使用的索引、查询策略等。分析winningPlan可以帮助你了解MongoDB是如何执行查询的,以便更好地优化查询性能。
    以下是一些常见的要点,可以帮助你分析winningPlan:
  1. 查询的阶段(Stage): winningPlan中的stage字段描述了MongoDB执行查询的主要阶段。常见的阶段包括COLLSCAN(集合扫描)、IXSCAN(索引扫描)、FETCH(从索引中获取文档)等。了解查询的主要阶段有助于确定查询性能的瓶颈。
  2. 索引使用: 如果winningPlan中的阶段是IXSCAN,表示MongoDB正在使用一个或多个索引来执行查询。你可以查看winningPlan中的inputStage字段,以了解使用的具体索引。优化索引的选择和使用可以显著提高查询性能。
  3. 筛选条件: winningPlan中的filter字段描述了用于筛选文档的条件。这可以帮助你确定MongoDB是否有效地使用索引来减少文档扫描的数量。
  4. 索引覆盖: 如果winningPlan中的阶段是FETCH,表示MongoDB在索引扫描后需要额外的步骤来获取文档。优化查询性能的一种方式是尽量让索引覆盖查询,即索引本身包含了查询所需的字段,而无需额外获取文档。
  5. 文档数量: winningPlan中通常包括有关查询返回的文档数量的信息,如nReturned。这对于评估查询的效率和性能至关重要。
  6. 排序和限制: 如果查询中包括排序和限制条件,winningPlan中也会包含这些信息。排序和限制条件可能会影响查询性能,特别是如果没有适当的索引支持。
  7. 索引覆盖: 查询计划中的 indexOnly 指示是否使用了索引覆盖,即查询结果是否可以完全从索引中获取,而无需额外的文档检索。索引覆盖可以显著提高查询性能。
  8. 其他信息: winningPlan中可能还包含其他信息,例如direction字段用于表示索引扫描的方向(正向或反向),以及其他执行计划相关的信息。
    综合分析上述信息,你可以确定查询性能的瓶颈,并采取相应的优化措施,例如创建合适的索引、调整查询条件、减少文档扫描等,以提高查询的效率和性能。请注意,分析查询计划可能需要一定的经验,特别是在复杂的查询场景中,但它是优化MongoDB查询性能的关键步骤。

2. 查看mongoDB 集合的索引

use your_database 
db.myCollection.getIndexes()

示例:
在这里插入图片描述

  1. key: 这部分指示了索引的字段和排序方式。在你的示例中,“_id”: 1 表示这个索引是基于 _id 字段创建的,而 1 表示按升序排序。MongoDB默认为每个集合创建一个唯一索引,用于快速查找文档。
  2. name: 这是索引的名称。在你的示例中,索引名称是 “id”,这是默认的命名规则,通常是字段名加下划线。
  3. ns: 这是索引所属的命名空间。在你的示例中,索引属于 “scfop-api-partner” 数据库中的 “dataSyncRequestVO” 集合。
  4. v: 这是索引版本的信息。在你的示例中,版本号为 2,这表示索引是MongoDB的版本2索引格式。
    总结来说,这个输出告诉你在 “scfop-api-partner” 数据库的 “dataSyncRequestVO” 集合上存在一个名为 “id” 的索引,它是一个升序索引,用于加速对 _id 字段的查找。这个索引通常是自动生成的,以确保每个文档都有唯一的 _id 值,这是MongoDB文档的默认主键。

3. mongoDB 怎么添加索引

使用db.collection.createIndex()方法来创建索引。这个方法用于在指定集合上创建一个或多个索引。

这将在名为 “yourCollection” 的集合上创建一个基于 “yourField” 字段的升序索引。

db.yourCollection.createIndex({ yourField: 1 });

创建多个单索引:

db.yourCollection.createIndexes([{'yourField':1},{'yourField':1},{'yourField':1}])

如果你想创建一个复合索引(多个字段的组合索引),可以传递一个包含多个字段和排序方式的对象:

db.yourCollection.createIndex({ field1: 1, field2: -1 });

这将在名为 “yourCollection” 的集合上创建一个基于 “field1” 字段升序和 “field2” 字段降序的复合索引。

你也可以指定其他选项来定制索引,例如唯一索引、稀疏索引等。这些选项可以作为第二个参数传递给 createIndex() 方法。

db.yourCollection.createIndex({ yourField: 1 }, { unique: true, sparse: true });

在这个例子中,我们创建了一个唯一索引,该索引只包含具有 “yourField” 字段的文档,并且该字段可以有缺失值(稀疏索引)。
记得在使用索引前,要考虑你的数据模型、查询模式和性能需求来选择合适的索引策略。索引可以显著提高查询效率,但不当使用也可能会导致资源浪费和性能下降。

4. 升序索引与降序索引是什么意思

升序索引(Ascending Index):
升序索引是最常见的索引类型,也是MongoDB默认创建的索引类型。在升序索引中,索引键的值按照从小到大(A到Z、0到9)的顺序排序。升序索引在排序字段上提供了高效的查询性能,因为它使得MongoDB可以快速定位和遍历索引,尤其是在范围查询(例如 g t 、 gt、 gtlt)和排序操作中。
在MongoDB中,如果你创建一个索引而没有明确指定排序方式,MongoDB将默认使用升序索引。
例如,以下命令将创建一个基于字段 fieldName 的升序索引:

db.collection.createIndex({ fieldName: 1 });

降序索引(Descending Index):
降序索引与升序索引相反,它按照从大到小(Z到A、9到0)的顺序排序索引键的值。降序索引在某些查询场景中也可以提供性能优势,尤其是在需要按照字段降序排序的查询操作中。
你可以通过将字段的排序方式设置为 -1 来创建一个降序索引。例如:

db.collection.createIndex({ fieldName: -1 });

这将创建一个基于 fieldName 字段的降序索引。
需要注意的是,使用降序索引可能会增加索引的维护成本,因为MongoDB需要额外的空间和计算来维护降序索引。因此,在选择索引排序方式时,需要根据实际的查询需求和性能测试结果来决定。

http://www.yayakq.cn/news/94684/

相关文章:

  • 电商的网站怎么做的好详细网站设计需求表
  • 推广优化网站排名国家反诈中心app下载安装注册
  • 网站底部优化文字如何部署thinkphp网站
  • phpstudy怎样做多个网站网站设计培训成都哪家好
  • 高端网站开发设计投资网站排行
  • 科技服务公司网站模版营销型网站套餐
  • 大型网站建设哪家好清溪网站建设公司
  • 网站开发 阿里互联网推广员是做什么的
  • 学校网站建设分析网站录屏可以做证据吗
  • 怎么样建设个人网站平台公司市场化转型
  • 自适应网站做多大尺寸中国网新闻
  • 佛山新网站制作怎么样北京画册设计制作
  • 网站为什么要挂服务器龙岩推广公司
  • 百度文库推广网站godaddy wordpress 2014
  • 百度做网站价格山西龙采网站建设合同
  • 网站导航是什么企业网站功能列表
  • 怎么样把第一页PPT设为模板相关信息圆柱钢模板优势是什么?企业网站建设模板和定制化有什么区别呢?设计公司企业标志
  • 昆明网站制作工具帮人做兼职的网站吗
  • 龙岩网站开发常用的网站推广方法
  • 网站flash背景wordpress评论不要地址邮箱
  • 如何在服务器上关闭网站泰州网站制作平台
  • 湖州高端网站设计外贸网站建设多少钱
  • 网站定位包括哪些内容wordpress添加广告功能
  • 网站建设不用备案的短信验证码接码网站建设
  • 做旅游网站多少钱上海市新闻
  • 广东建设行业招聘 什么网站厚街镇仿做网站
  • 北京专业做网站推广wordpress汉字注册
  • vue大型网站开发吗找网站漏洞赚钱怎么做的
  • 建服装类网站需要考虑的因素wordpress 优化数据库
  • 高密做网站的公司如何优化网站 提高排名