Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 28818200CC2 for ; Wed, 5 Jul 2017 19:25:42 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 25B84163EF3; Wed, 5 Jul 2017 17:25:42 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 1DA11163EEE for ; Wed, 5 Jul 2017 19:25:40 +0200 (CEST) Received: (qmail 57000 invoked by uid 500); 5 Jul 2017 17:25:40 -0000 Mailing-List: contact user-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@ignite.apache.org Delivered-To: mailing list user@ignite.apache.org Received: (qmail 56990 invoked by uid 99); 5 Jul 2017 17:25:40 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Jul 2017 17:25:40 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id B6072C059A for ; Wed, 5 Jul 2017 17:25:39 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.63 X-Spam-Level: ** X-Spam-Status: No, score=2.63 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id H8EarVVVmOis for ; Wed, 5 Jul 2017 17:25:38 +0000 (UTC) Received: from mail-it0-f45.google.com (mail-it0-f45.google.com [209.85.214.45]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 22F8F5FC6C for ; Wed, 5 Jul 2017 17:25:37 +0000 (UTC) Received: by mail-it0-f45.google.com with SMTP id k192so91331657ith.1 for ; Wed, 05 Jul 2017 10:25:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=7SPyemnB8I5+MHUbHdQXkNnYIsHdtxPZSg83USDMez4=; b=I+huaD3U1rRSDFpFbVzxU1rZmrrmx2U7cBIsbeANkb0zEfFAttU6jAe4Xsh3erNSpE 6nxsMO9+cuTG6Kh/b3i1fJNuDmrakpkFpGGpngn3saoj8yOm2PqeitKjKPINt4zvgys4 uEaeT1iCE/60hYZQdyYwuHD8YjuR24KbTdjDCGzDfMW1MvpfjswwpOphgzGFqppOPkU6 j/qc2ocbq8qYL6QHuljxL4T03Fe9IG7m/6/fQq+RH9h8Zzo+uifNoBLn+/NzASBuXYcz U4vzigJQxR7AKgc9TXw6+HN6wFDjDhqKoHe6ipXc4SnLjBx+ZdwFPs9M7KMExb5BcRkR ym2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=7SPyemnB8I5+MHUbHdQXkNnYIsHdtxPZSg83USDMez4=; b=HZVtlu5u6gX5DKVydn/Pl7rnB27jQWY9pNEyvu+A1mmrddEOxdGcKuFt1aEKYvmhEe YFCOOxqMl/crzBrvxCBGAHgsYpz8SZRBBLwwGJHnkUdHRAvghaaSxoZlJby3kipZk3Jm 3Go7CwbYvUjMoNnSM8NCtvJ5J8kwka91TtzSxrYcoiDwRH7ljVZWqBy0ZiSNQuIREZoN EvKDvubIZKq7fczXVDDexKSIYyiJ6siBMtwb5wvgh3EuyuHnO1cysW1I69fwdjF2DGu9 uQPASy5dCg3g7GcVERRmB+IiKkdg3W/nQ6C6utQiqEcKqKDTXJ+abK6Fd1DEDP/lCJUS Owbw== X-Gm-Message-State: AIVw111FjyFgXHoqS1v9mo/kSzvfYrYtRt/0TL6K1pJ3sJI3A/a2itCj mC/covC+kiZHNz7ViW62O24IvLSeCA== X-Received: by 10.107.188.68 with SMTP id m65mr841iof.55.1499275536152; Wed, 05 Jul 2017 10:25:36 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.140.147 with HTTP; Wed, 5 Jul 2017 10:25:34 -0700 (PDT) Received: by 10.107.140.147 with HTTP; Wed, 5 Jul 2017 10:25:34 -0700 (PDT) In-Reply-To: <113f01d2f599$98a1fd00$c9e5f700$@gridgain.com> References: <1499257074525-14320.post@n6.nabble.com> <113f01d2f599$98a1fd00$c9e5f700$@gridgain.com> From: Neeraj Bhatt Date: Wed, 5 Jul 2017 22:55:34 +0530 Message-ID: Subject: RE: Group index taking too much time To: user@ignite.apache.org Content-Type: multipart/alternative; boundary="94eb2c07720ec0d152055395490a" archived-at: Wed, 05 Jul 2017 17:25:42 -0000 --94eb2c07720ec0d152055395490a Content-Type: text/plain; charset="UTF-8" Hi Mike Yes, item has same index. configured as item 2 We have a cluster of 3 nodes. Item is a partitioned cache with backup as one. We are executing queries from a single client. On 05-Jul-2017 7:46 PM, "Michael Griggs" wrote: Hi, I see that you are referencing "Item" not "Item2" in your SQL query. Does "Item" have the same index configured? Also, please describe your network topology, how many server and client nodes are you running? I built a reproducer based on your code, executed your query 5000 times, and each query takes an average of 140 microseconds : Executing query... Query executed. Execution time for 5000 queries = 700191368ns. Avg Per Query: 140 microseconds Kind regards Mike -----Original Message----- From: neerajbhatt [mailto:neerajbhatt2000@gmail.com] Sent: 05 July 2017 14:18 To: user@ignite.apache.org Subject: Group index taking too much time Hi All We have pushed around 1.4 million item objects (with group index) and with following query takes around 80 ms (on server), which is way ahead for our use case. Please suggest String rating="0"; String review="0"; String download="0"; StringBuilder buff = new StringBuilder("SELECT T._VAL FROM " + "ITEMCACHE.Item as T " + " WHERE " + " T.rating=? AND T.reviews=? AND T.downloads=? " + " limit 10"); SqlFieldsQuery qry = new SqlFieldsQuery(buff.toString()); List> res = cache.query(qry.setArgs(new Object[]{rating,review,download})).getAll(); ///Item object is public class Item2 implements Serializable { private static final long serialVersionUID = 1L; @QuerySqlField(index = true, orderedGroups = { @QuerySqlField.Group(name = "idx1", order = 2) }) private int downloads; @QuerySqlField(index = true, orderedGroups = { @QuerySqlField.Group(name = "idx1", order = 0) }) private double rating; @QuerySqlField(index = true, orderedGroups = { @QuerySqlField.Group(name = "idx1", order = 1) }) private int reviews; @QuerySqlField(index = true) @AffinityKeyMapped private String id; public int getDownloads() { return downloads; } public void setDownloads(int downloads) { this.downloads = downloads; } public double getRating() { return rating; } public void setRating(double rating) { this.rating = rating; } public int getReviews() { return reviews; } public void setReviews(int reviews) { this.reviews = reviews; } public String getId() { return id; } public void setId(String id) { this.id = id; } public static long getSerialversionuid() { return serialVersionUID; } -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Group-index-taking-too-much-t ime-tp14320.html Sent from the Apache Ignite Users mailing list archive at Nabble.com. --94eb2c07720ec0d152055395490a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Mike

Yes, item has same index.
configured as item 2

We have a cluster of 3 nodes= . Item is a partitioned cache with backup as one.
We are executing queries from a single client.



On 05-Jul-2017 7:46 PM, "Michael Griggs" <michael.griggs@gridgain.com> wrote:
Hi,

I see that you are referencing "Item" not "Item2" in yo= ur SQL query.=C2=A0 Does
"Item" have the same index configured?=C2=A0 Also, please describ= e your network
topology, how many server and client nodes are you running?

I built a reproducer based on your code, executed your query 5000 times, an= d
each query takes an average of 140 microseconds :

Executing query...
Query executed.
Execution time for 5000 queries =3D 700191368ns.=C2=A0 Avg Per Query: 140 microseconds

Kind regards
Mike


-----Original Message-----
From: neerajbhatt [mailto:neer= ajbhatt2000@gmail.com]
Sent: 05 July 2017 14:18
To: user@ignite.apache.org Subject: Group index taking too much time

Hi All

We have pushed around 1.4 million item objects (with group index) and with<= br> following query takes around 80 ms (on server), which is way ahead for our<= br> use case. Please suggest

String rating=3D"0";
String review=3D"0";
String download=3D"0";

StringBuilder buff =3D new StringBuilder("SELECT T._VAL FROM " =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 + "ITEMCACHE.Item as T " =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 + " WHERE=C2=A0 "
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 + " T.rating=3D? AND T.reviews= =3D? AND
T.downloads=3D? "
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 + " limit 10");

SqlFieldsQuery qry =3D new SqlFieldsQuery(buff.toString());

List<List&lt;?>> res =3D cache.query(qry.setArgs(new
Object[]{rating,review,download})).getAll();

///Item object is

public class Item2 implements Serializable {

=C2=A0 =C2=A0 =C2=A0 =C2=A0 private static final long serialVersionUID =3D = 1L;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 @QuerySqlField(index =3D true, orderedGroups = =3D {
@QuerySqlField.Group(name =3D "idx1", order =3D 2) })
=C2=A0 =C2=A0 =C2=A0 =C2=A0 private int downloads;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 @QuerySqlField(index =3D true, orderedGroups = =3D {
@QuerySqlField.Group(name =3D "idx1", order =3D 0) })
=C2=A0 =C2=A0 =C2=A0 =C2=A0 private double rating;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 @QuerySqlField(index =3D true, orderedGroups = =3D {
@QuerySqlField.Group(name =3D "idx1", order =3D 1) })
=C2=A0 =C2=A0 =C2=A0 =C2=A0 private int reviews;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 @QuerySqlField(index =3D true)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 @AffinityKeyMapped
=C2=A0 =C2=A0 =C2=A0 =C2=A0 private String id;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public int getDownloads() {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return downloads; =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public void setDownloads(int downloads) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 this.downloads =3D = downloads;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public double getRating() {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return rating;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public void setRating(double rating) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 this.rating =3D rat= ing;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public int getReviews() {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return reviews;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public void setReviews(int reviews) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 this.reviews =3D re= views;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public String getId() {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return id;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public void setId(String id) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 this.id =3D id;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public static long getSerialversionuid() {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return serialVersio= nUID;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }






--
View this message in context:
http://apache-ignite= -users.70518.x6.nabble.com/Group-index-taking-too-much-t
ime-tp14320.html

Sent from the Apache Ignite Users mailing list archive at Nabble.com.


--94eb2c07720ec0d152055395490a--