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

wordpress清空演示数据网站制作网站优化

wordpress清空演示数据,网站制作网站优化,做一个中型网站需要多少钱,设计师网站建设MongoDB索引 官方文档 https://docs.mongodb.com/manual/indexes/#create-an-index 默认索引 _id index Mongodb 在 collection 创建时会默认建立一个基于_id 的唯一性索引作为 document 的 primarykey#xff0c;这个 index 无法被删除 单个字段索引 单字段索引是 Mongo…MongoDB索引 官方文档 https://docs.mongodb.com/manual/indexes/#create-an-index 默认索引 _id index Mongodb 在 collection 创建时会默认建立一个基于_id 的唯一性索引作为 document 的 primarykey这个 index 无法被删除 单个字段索引 单字段索引是 Mongodb 最简单的索引类型不同于 MySQLMongoDB 的索引是有顺序的支持升序或者降序。 B树组织 但是对于单字段索引来说索引的顺序无关紧要因为 MongoDB 支持任意顺序遍历单字段索引。 在此创建一个 records collection {_id: ObjectId(570c04a4ad233577f97dc459),score: 1034,location: { state: NY, city: New York } }然后创建一个 单字段索引 db.records.createIndex({ score: 1 } ) 上面的语句在 collection 的 score field 上创建了一个 升序索引这个索引支持以下查询 db.records.find( { score: 2 } ) db.records.find( { score: { $gt: 10 } } ) 可以使用 MongoDB 的 explain 来对以上两个查询进行分析 db.records.find({score:2}).explain(executionStats) db.records.find({location.state:NY}).explain(executionStats) 嵌套字段的单索引 db.records.createIndex( { location.state: 1 } ) 上面的 embedded index 支持以下查询 db.records.find( { location.state: CA } ) db.records.find( { location.city: Albany, location.state: NY } ) 单索引排序 因为索引是排序的所以可以支持对索引字段的排序快速 对于单索引来说由于 MongoDB index 本身支持顺序查找所以对于单索引来说以下都是可以使用到索引的 db.records.find().sort( { score: 1 } ) db.records.find().sort( { score: -1 } ) db.records.find({score:{$lte:100}}).sort( { score: -1 } )复合索引 Mongodb 支持对多个字段建立索引称之为复合索引。复合索引 中 field 的顺序对索引的性能有至关重要的影响比如索引 {userid:1, score:-1}首先根据 userid 排序然后再在每个userid 中根据 score降序排序。 创建复合索引 在此创建一个 products collection db.products.insert({item: Banana,category: [food, produce, grocery],location: 4th Street Store,stock: 4,type: cases })然后创建一个 复合索引 db.products.createIndex( { item: 1, stock: 1 } ) 这个 index 引用的 document 首先会根据 item 排序然后在 每个 item 中又会根据 stock 排序以下语句都满足该索引 db.products.find( { item: Banana } ) db.products.find( { item: Banana, stock: { $gt: 5 } } ) 条件 {item: “Banana”} 满足是因为这个 query 满足 prefix 原则 最左匹配原则 和MySQL索引最左匹配类似都是由于底层数据结构组织的原因MongoDB是B树组织索引MySQL是B树组织索引。对于复合索引来说就需要满足最左匹配的原则Index prefix 是指 index fields 的左前缀子集考虑以下索引 { item: 1, location: 1, stock: 1 } 这个索引包含以下 index prefix { item: 1 } { item: 1, location: 1 } { item: 1, location: 1, stock: 1 }所以只要语句满足 index prefix 原则都是可以支持使用 复合索引 的 db.products.find( { item: Banana } ) db.products.find( { item: Banana,location:4th Street Store} ) db.products.find( { item: Banana,location:4th Street Store,stock:4})相反如果不满足 index prefix 则无法使用索引。 db.products.find( { location:4th Street Store,stock:4} )排序使用复合索引 sort 的顺序必须要和创建索引的顺序是一致的一致的意思是不一定非要一样 即排序的顺序必须要和索引一致逆序之后一致也可以下表清晰的列出了 复合索引 满足的 query 语句 考虑索引 { a: 1, b: 1, c: 1, d: 1 }即使排序的 field 不满足 index prefix 也是可以的 但前提条件是排序 field 之前的 index field 必须是等值条件。在前面的field是等值条件情况下B树索引构建时在前置filed相同时会根据后面的field排序构建所以这种情况的排序是可以使用索引查找到对应数据的。 r1 db.data.find( { a: 5 } ).sort( { b: 1, c: 1 } ) { a: 1 , b: 1, c: 1 } r2 db.data.find( { b: 3, a: 4 } ).sort( { c: 1 } ) { a: 1, b: 1, c: 1 } r3 db.data.find( { a: 5, b: { $lt: 3} } ).sort( { b: 1 } ) { a: 1, b: 1 }field顺序对索引的影响 对索引构建是没太大影响但是对于需要扫描的文档顺序的不同可能差别就很大了。个人理解是对基数大数据重复度低的字段排在前面。优先考虑能够最大化限制数据范围的索引顺序。 慢查询监控 对于查询的优化我们可以开启慢查询监控 MongoDB 支持对 DB 的请求进行 profiling目前支持 3 种级别的 profiling。 0 不开启 profiling1 将处理时间超过某个阈值(默认 100ms)的请求都记录到 DB 下的 system.profile 集合 类似于 mysql、redis 的 slowlog2 将所有的请求都记录到 DB 下的 system.profile 集合生产环境慎用 通常生产环境建议使用 1 级别的 profiling并根据自身需求配置合理的阈值用于监测慢请求的情况并及时的做索引优化。 如果能在集合创建的时候就能『根据业务查询需求决定应该创建哪些索引』当然是最佳的选择但由于业务需求多变要根据实际情况不断的进行优化。索引并不是越多越好集合的索引太多会影响写入、更新的性能每次写入都需要更新所有索引的数据所以你 system.profile 里的慢请求可能是索引建立的不够导致也可能是索引过多导致。 创建删除索引 参考文章开头链接就好很简单的。
http://www.pierceye.com/news/27423/

相关文章:

  • 建设招聘网站中国常用网站网址
  • 网站活动怎么做软件开发文档的重要性
  • 多人在线网站开发杭州网站制作平台公司
  • 图片交易网站如何建设网站建设费 账务处理
  • 如何选择企业网站建设泰安建设工程招聘信息网站
  • 企业营销型网站团队wordpress 标签云制作
  • tornado 做网站wordpress 网站导航
  • 类似淘宝网站模板广西住房城乡和建设厅网站首页
  • 网站建设实例下载网站开发服务费会计处理
  • 两峡一峰旅游开发公司官方网站网站费用明细
  • 怎样开发wordpress主题seo推广任务小结
  • 深圳企业网站哪家强wordpress1.29下载
  • 临沂网站优化公司网站如何做微信推广方案
  • 海淀团队组建网站wordpress自定义表单
  • 系部网站建设高清摄影作品网站
  • 网站基本设置wordpress禁用字体
  • 网页设计网站开发需要什么全国企业信用信息公示系统黑龙江
  • 门户网站开发 论文创业做网站APP开发
  • 受欢迎的免费网站建设说明电子商务网站的建设流程
  • 网站上线 流程wordpress后台登入
  • 番禺建设网站外包网站空间名
  • 检察院门户网站建设成效网站建设需要哪些方面
  • 莱芜人才网最新招聘宁波seo关键词培训
  • 什么是建设网站局域网 手机网站建设
  • 网站 建设 步骤是专业的手机网站建设公司
  • 微信公众号平台网站开发建筑模板是干什么用的
  • 沈阳网站设计培训班给别人建设网站的注意事项
  • 优惠的网站快排公司电话百度推广费用怎么算
  • 门户类型网站有哪些闵行手机网站建设
  • 石家庄模板网站虚拟主机安装wordpress