Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 63B437DCD for ; Sun, 24 Jul 2011 22:25:14 +0000 (UTC) Received: (qmail 38300 invoked by uid 500); 24 Jul 2011 22:25:12 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 38173 invoked by uid 500); 24 Jul 2011 22:25:12 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 38165 invoked by uid 99); 24 Jul 2011 22:25:11 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 24 Jul 2011 22:25:11 +0000 X-ASF-Spam-Status: No, hits=1.6 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of tretiy3@gmail.com designates 209.85.213.180 as permitted sender) Received: from [209.85.213.180] (HELO mail-yx0-f180.google.com) (209.85.213.180) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 24 Jul 2011 22:25:05 +0000 Received: by yxk30 with SMTP id 30so3217508yxk.11 for ; Sun, 24 Jul 2011 15:24:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=PdJHrodiKAsH3K47yFikymwLJyLqeFa3u9Dhox09G0o=; b=umgFqDxMgmt4Xl3Iat382vpQ2CptjqpODi31RnVZ/MmeoOPwWEWOE0V7BKjMvMLdb+ YVjQQ+WOd2HEf1uocr97XgVofDTw16tzhBkQw3Q1nqPZAYXtfo0e08S4pNVewBjlWfDW HVfdNA5SR05jazPG3+ks1OfTwgi0Fw6dCvjzA= MIME-Version: 1.0 Received: by 10.150.182.21 with SMTP id e21mr3987007ybf.325.1311546284751; Sun, 24 Jul 2011 15:24:44 -0700 (PDT) Received: by 10.150.195.15 with HTTP; Sun, 24 Jul 2011 15:24:44 -0700 (PDT) In-Reply-To: References: Date: Mon, 25 Jul 2011 01:24:44 +0300 Message-ID: Subject: Re: 1 large view vs 2 smaller views From: Ganzha Alexey To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=000e0cd6ad4868b9e704a8d82aaa --000e0cd6ad4868b9e704a8d82aaa Content-Type: text/plain; charset=ISO-8859-1 Thanks for your answer. Actually it is very important to sort by the other fields: dep, price. even _id i need to separate docs with the same price. So, the only way i see - this additional "week" (''THIS_IS_FOR_ALL'', 'THIS_IS_FOR_LAST_WEEK_ ONLY') element in the key, at the first place. And i have to match this element exactly for all docs, or for week docs. On Mon, Jul 25, 2011 at 12:54 AM, Dennis Clark wrote: > How important is it to you to have the view sorted by doc.dep? If the > answer > is "not at all," the idiomatically CouchDB way to do this is: > > emit(doc.date,[doc.dep,doc.price,doc._id]); > > and then let users query with startkey/endkey if they need only the docs > from the last week. This way you don't need some "in the last week" field > that you have to keep updated. > > On Sun, Jul 24, 2011 at 5:46 PM, Ganzha Alexey wrote: > > > Hi. > > I am trying figuring out whats the better. > > > > Say i have a view: > > ... > > emit([doc.dep,doc.price,doc.date,doc._id]); > > ... > > > > Some users need all docs. And some of them need only docs for the last > > week. > > Just add an attribute 'last_week' in required documents. > > Then, in the view i will check this attribute and there are 2 cases: > > > > Filter docs in 1 view > > > > emit(['THIS_IS_FOR_ALL',doc.dep,doc.price,doc.date,doc._id]); > > > > if (doc.last_week) > > > emit(['THIS_IS_FOR_LAST_WEEK_ONLY',doc.dep,doc.price,doc.date,doc._id]); > > > > i will be able to query this view with the additional key member (will > user > > need all docs, or only last week docs) > > > > Or make 2 separate views. First: > > > > emit([doc.dep,doc.price,doc.date,'doc._id]); > > > > and Second: > > > > if (doc.last_week) > > emit([doc.dep,doc.price,doc.date,doc._id]) > > > > First case will emit more keys, and the keys will be larger by 1 element. > > But in second case, there are 2 views. > > > > What would you prefer. What is the better for performance? > > Thanks > > > --000e0cd6ad4868b9e704a8d82aaa--