草庐IT

composite-index

全部标签

mongodb - ensureIndex({field :1}) when an index already exists?

我希望始终确保我的收藏被编入索引,并且我半定期地添加和删除它们。假设我在每次Web请求时都与数据库建立新连接,每次连接时执行一些db.collection.ensureIndex({field:true})语句是否可以? 最佳答案 据我所知,MongoDB只会简单地查询系统集合以查看索引是否存在,然后再创建它......http://www.mongodb.org/display/DOCS/Indexes#Indexes-AdditionalNotesonIndexes>db.system.indexes.find();您可以运行g

indexing - 在 Mongodb 中通过 ObjectId 查找有多快?

我到处查找ObjectId,就好像它们是蛋糕一样。这样可以吗?_id字段应该被疯狂地查找,对吧? 最佳答案 更准确的答案:MongoDB使用B-Tree索引。在B树中搜索特定值在平均和最坏情况下具有O(logn)复杂度,这可以被认为是相当快的(即二分搜索)。虽然它不是恒定的复杂性=O(1),因此如果索引大小增长大于可用RAM,您仍然可能会产生一些减速效果。(MongoDB试图将索引保存在RAM中,在磁盘上查找索引所需的每个IO都会大大减慢您的查询速度)。 关于indexing-在Mong

mongodb - 皮蒙戈 : insert_many + unique index

我想在我的集合中insert_many()文件。其中一些可能与集合中的现有文档具有相同的键/值对(在我的示例中为screen_name)。我在此键上设置了唯一索引,因此出现错误。my_collection.create_index("screen_name",unique=True)my_collection.insert_one({"screen_name":"user1","foobar":"lalala"})#noproblemto_insert=[{"screen_name":"user1","foobar":"foo"},{"screen_name":"user2","foo

ruby - 用于日志数据的 MongoDB 集合 : index or not?

我正在使用MongoDB作为临时日志存储。该集合每小时接收约400,000个新行。每行包含一个UNIX时间戳和一个JSON字符串。我想定期将集合的内容复制到S3上的一个文件,每小时创建一个包含约400,000行的文件(例如,today_10_11.log包含上午10点到上午11点之间收到的所有行)。我需要在集合接收插入内容时进行此复制。我的问题:与查询一个小时的行所花费的额外时间相比,在每小时400,000次插入的时间戳列上建立索引对性能有何影响。有问题的应用程序使用Ruby编写,在Heroku上运行并使用MongoHQ插件。 最佳答案

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

我正在运行PHP脚本并继续收到如下错误:Notice:Undefinedvariable:my_variable_nameinC:\wamp\www\mypath\index.phponline10Notice:Undefinedindex:my_indexC:\wamp\www\mypath\index.phponline11Warning:Undefinedarraykey"my_index"inC:\wamp\www\mypath\index.phponline11第10行和第11行如下所示:echo"Myvariablevalueis:".$my_variable_name;e

mysql - add_index 迁移失败,返回 "Argument out of range"

我正在尝试在另一台计算机上复制(正在运行!)Rails3/MySql应用程序。我创建了一个schema.rb和data.yml,然后使用了db:schema:load和db:data:load,除一件事外,它们都运行良好。我的表上有许多索引,但rake尝试创建它们失败了——我不得不从schema.rb中注释它们以使其生成,所以我尝试将它们放入迁移中(它们的创建方式是原来的应用程序!)和rake仍然死了。这是错误消息:O:\Development\myapp>rakedb:migraterakeaborted!Anerrorhasoccurred,alllatermigrationsca

mysql表: index vs primary

我是新手,有点关心mysql表的效率问题。在mysql表中制作一个字段的优缺点是什么索引主要在决定mysql表中字段的属性时遵循的做法是什么?请分享您的见解,谢谢。 最佳答案 一张表中只能有一个主键。它应该是唯一标识表中每条记录的列。主键不是必需的;例如,您可能有一个表来实现多对多关系,并且这些记录不需要唯一ID。只要您必须查询表并指定一些条件以根据列的值(例如WHERE子句)过滤记录,就应该使用索引。有很多关于索引的知识,例如:何时在一列上创建索引与在同一索引中的多个列上创建索引。阅读thedocumentationontheMy

MYSQL Innodb : Composite Primary Key and Reverse Search

我正在使用Innodb搜索引擎为用户查找表创建一个事件。表事件_用户event_iduser_idIndex(PRIMARY)->event_id,user_idIndex(secondary)->user_id,event_id??应用程序将搜索用户到事件和事件到用户。如果主键是聚集的,如何定义第二个索引?它应该只是user_id然后MYSQL会发现event_id已经存在于PK中,还是我应该冗余并在二级索引中包含user_id,event_id?另外,这样用聚簇索引好不好?非常感谢任何有关Innodb聚簇索引的指导和帮助。谢谢! 最佳答案

MySQL Innodb : Large Composite PK no other indexes

我正在创建一个包含四列的Innodb表。表格column_a(tiny_int)column_b(medium_int)column_c(timestamp)column_d(medium_int)PrimaryKey->column_a,column_b,column_c从逻辑的角度来看,列A、B、C必须一起组成一个PK。但是,为了提高性能并能够直接从索引中读取(使用索引),我正在考虑一个由所有4个组成的PK列(A、B、C、D)。问题将附加列附加到Innodb表的主键上会有什么性能?注意事项代理主键绝对不可能此表上将不存在其他索引表是读/写密集型的(两者差不多)谢谢!

MySQL composite unique on FK's

基于这个问题的问题MySQLcompositeuniqueonFK'sDBMySQL,存储引擎:InnoDB。我有一个表计划:身份证clubber_id(clubbers表的外键)event_id(事件表的外键)每个俱乐部成员每次事件只能创建一个计划。即clubber_id和event_id理想情况下应该是唯一的组合键。使用clubber_id和event_id创建这样的组合键在性能方面有什么意义吗?我已经有了外键,并且在我的业务逻辑中检查了唯一性。 最佳答案 这并不是真正的性能问题,但在外键上定义唯一的复合键可确保数据库中的唯一性