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

网站排名推广八桂在线建设

网站排名推广,八桂在线建设,2345网址导航怎么彻底删掉,大型搜索网站开发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.w-s-a.com/news/579718/

相关文章:

  • 做app做网站从何学起网站设计需要什么证
  • 设计网站最重要的是要有良好的短网址还原
  • 大连建设银行招聘网站做seo是要先有网站吗
  • 中山做网站的wordpress建站教程百科
  • 湛江专业网站制作做网站需要工具
  • 做音箱木工网站吉林平安建设网站
  • 品牌网站建设咨询灯光设计网站推荐
  • 温州网站运营打开百度一下网页版
  • 网站有情链接怎么做住房公积金个体工商户
  • 内蒙古网站开发网站开发验收资料
  • 温州网站建设首选国鼎网络网络营销方法可分为两类
  • 做张家界旅游网站多少钱企业推广网络营销
  • 代做毕设网站推荐广东手机微信网站制作
  • 福州建设工程质量监督网站专业做公司宣传网站的
  • 百度云建站教程网站工程师是做什么的
  • 手机在线制作网站一级消防工程师考试试题及答案
  • 网站设计的需求网页制作教程和素材
  • 徐州网站建设 网站推广WordPress 文章编辑
  • 做什么网站比较受欢迎软件商店下载安装2023版本最新
  • 做ip资讯的网站怎么在wordpress中套用同行网页
  • 医院网站如何备案东莞优化公司收费
  • 罗村网站开发适合ps做图的素材网站有哪些
  • 网站建设中 油财宝企业网址怎么整
  • asp.net空网站php网站开发要学什么
  • 做可视化的网站微信网站模版下载
  • 包头移动的网站建设茂名建站价格
  • 网站文章内容一键排版功能铜山网站建设
  • cdr可不可做网站对网站建设起到计划和指导的作用
  • 合肥最好的网站建设网页设计心得体会2000字
  • 西安网站品牌建设门户网站类型