2

删除索引(删除索引的命令关键字为)

见过很多crud boy不懂技术也就算了,天天搬砖也搬不好,连crud都没写明白,就一个最基本的问题,现在业界都是逻辑删除,数据库表里面都会有个is_deleted字段:

1.查询业务字段时候需不需要与is_deleted建立联合索引?

2.业务字段需要建立唯一索引时候怎么要做?

这两个crud boy天天接触的东西,80%的搬砖工都没整明白

~~~~~~~~~~~~~~~~~~~~~~

问题1. 没有具体场景都是空谈,不如实际测一下,看看建或者不建的实际利弊是什么。

问题2. 就比较简单了,比如:分布式ID

大家的想法呢?

所有的数据库索引信息都存储在system.indexes集合中。这是一个保留集合,不能在其中插入或者删除文档。只能通过ensureIndex或者dropIndexes对其进行操作。

创建一个索引之后,就可以在system.indexes中看到它的元信息。可以执行db.collectionName.getIndexes()来查看给定集合上的所有索引信息:

> db.foo.getIndexes()

[

{

"v" : 1,

"key" : {

"_id" : 1

},

"ns" : "test.foo",

"name" : "_id_"

},

{

"v" : 1,

"key" : {

"y" : 1

},

"ns" : "test.foo",

"name" : "y_1"

},

{

"v" : 1,

"key" : {

"x" : 1,

"y" : 1

},

"ns" : "test.foo",

"name" : "x_1_y_1"

}

]

这里面最重要的字段是"key"和"name"。这里的键可以用在hint、max、min以及其他所有需要指定索引的地方。在这里,索引的顺序很重要:{"x" : 1, "y" :1}上的索引与{"y" : 1, "x" : 1}上的索引不同。对于很多的索引操作(比如dropIndex),这里的索引名称都可以被当作标识符使用。但是这里不会指明索引是否是多键索引。

"v"字段只在内部使用,用于标识索引版本。如果你的索引不包含"v" : 1这样的字段,说明你的索引是以一种效率比较低的旧方式存储的。将MongoDB升级到至少2.0版本,删除并重建这些索引,就可以把索引的存储方式升级到新的格式了。

学Python第126天。寻找重复的元素,它们的长度占总列表长的一半。我的方法是先排序,再判断两个数值是否相等,关键就是判断哪两个数相等,就是用某一个元素i和索引是列表长度一半的数进行比较判断,若相等,那么这个元素i就是所要求的数。在发布之前我把冗余的第11第15第16行删掉了。

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2230523/
1
上一篇下载金山毒霸(下载金山毒霸杀毒)
下一篇 最新空间代码(代码QQ空间)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部