Den 25.05.2016 23.12, skrev Bergquist, Brett: > I have a table with 80,640,704 rows. My query currently is: > > > > SELECT > > COUNT(*) AS USE_COUNT > > FROM > PKG_9145E_V1.COSEDDROPPROFILEDSCPTABLEBUNDLE_COSEDDROPPROFILEDSCPTABLEENTRY > CBCE > > WHERE CBCE.COSEDDROPPROFILEDSCPTABLEENTRY_ID = 768 > > AND CBCE.COSEDDROPPROFILEDSCPTABLEBUNDLE_ID != 2 > > > > This query is going to return a count of 78,569. > > > > What I really want to know is if there is any row that satisfies the > condition. I have logic that needs to run if there is such a row. So > is there a more efficient query in Derby that will short circuit when it > find a row?
Hi Brett, FETCH/OFFSET [1] comes to mind, i.e. going from SELECT COUNT(*) FROM CBCE WHERE ... to SELECT some_column_or_a constant FROM CBCE WHERE ... FETCH FIRST ROW ONLY Since there's no ORDER BY (or other relevant operations / clauses) in your query, that should hopefully cause Derby to stop processing and return once the first matching row is found. I say hopefully, because I haven't verified it :) Regards, -- Kristian [1] https://db.apache.org/derby/docs/10.12/ref/rrefsqljoffsetfetch.html > > > > Thanks > > > > Brett > > > ------------------------------------------------------------------------ > Canoga Perkins > 20600 Prairie Street > Chatsworth, CA 91311 > (818) 718-6300 > > This e-mail and any attached document(s) is confidential and is intended > only for the review of the party to whom it is addressed. If you have > received this transmission in error, please notify the sender > immediately and discard the original message and any attachment(s).
