02-06-2012 06:28 PM
Mike: here's what smart selection gives me on a 6 column\datafield grid:
SELECT publicatio0_.ACCOUNTID as ACCOUNTID1_, publicatio0_.C_PUBLICATIONSID as C1_1_, publicatio0_.C_PUBLICATIONSID as C1_120_0_, publicatio0_.ACCOUNTID as ACCOUNTID120_0_, publicatio0_.CREATEUSER as CREATEUSER120_0_, publicatio0_.CREATEDATE as CREATEDATE120_0_, publicatio0_.MODIFYUSER as MODIFYUSER120_0_, publicatio0_.MODIFYDATE as MODIFYDATE120_0_, publicatio0_.EFFECTIVEDATE as EFFECTIV7_120_0_, publicatio0_.CONTROLGROUPCODE as CONTROLG8_120_0_, publicatio0_.AUTHORITYRELEASE as AUTHORIT9_120_0_, publicatio0_.CONTACTMETHOD as CONTACT10_120_0_, publicatio0_.MILEAGESOURCE as MILEAGE11_120_0_, publicatio0_.PCMILERVERSION as PCMILER12_120_0_, publicatio0_.NEWCUSTOMER as NEWCUST13_120_0_, publicatio0_.NEWLANES as NEWLANES120_0_, publicatio0_.BROKERADDENDUM as BROKERA15_120_0_, publicatio0_.NAMECHANGE as NAMECHANGE120_0_, publicatio0_.INCREASEEXISTINGRATES as INCREAS17_120_0_, publicatio0_.DECREASEEXISTINGRATES as DECREAS18_120_0_, publicatio0_.CANCELSPECIFICRATES as CANCELS19_120_0_, publicatio0_.CANCELENTIRECONTRACT as CANCELE20_120_0_, publicatio0_.OTHERSPECIFYINCOMMENTS as OTHERSP21_120_0_, publicatio0_.FTL as FTL120_0_, publicatio0_.LTL as LTL120_0_, publicatio0_.CONTINUOUSMOVES as CONTINU24_120_0_, publicatio0_.NETWORKOPTIMIZATION as NETWORK25_120_0_, publicatio0_.DEDICATEDBACKHAUL as DEDICAT26_120_0_, publicatio0_.BROKERAGE as BROKERAGE120_0_, publicatio0_.DEDICATED as DEDICATED120_0_, publicatio0_.POWERONLY as POWERONLY120_0_, publicatio0_.VAS as VAS120_0_, publicatio0_.CUSTOMERDEVELOPMENT as CUSTOME31_120_0_, publicatio0_.CARRIER as CARRIER120_0_, publicatio0_.SCAC as SCAC120_0_, publicatio0_.FLATBED as FLATBED120_0_, publicatio0_.VAN as VAN120_0_, publicatio0_.TCU as TCU120_0_, publicatio0_.WERZ as WERZ120_0_, publicatio0_.WERUSTANDARD as WERUSTA38_120_0_, publicatio0_.WERUEXPEDITED as WERUEXP39_120_0_, publicatio0_.EMPUSTANDARD as EMPUSTA40_120_0_, publicatio0_.EMPUEXPEDITED as EMPUEXP41_120_0_, publicatio0_.EMHUSTANDARD as EMHUSTA42_120_0_, publicatio0_.EMHUEXPEDITED as EMHUEXP43_120_0_, publicatio0_.STANDARD20 as STANDARD44_120_0_, publicatio0_.EXPEDITED20 as EXPEDITED45_120_0_, publicatio0_.STANDARD40 as STANDARD46_120_0_, publicatio0_.EXPEDITED40 as EXPEDITED47_120_0_, publicatio0_.STANDARD45 as STANDARD48_120_0_, publicatio0_.EXPEDITED45 as EXPEDITED49_120_0_, publicatio0_.ASSESSORIALSTANDARD as ASSESSO50_120_0_, publicatio0_.ASSESSORIALNOTES as ASSESSO51_120_0_, publicatio0_.FUELSTANDARD as FUELSTA52_120_0_, publicatio0_.FUELNOTES as FUELNOTES120_0_, publicatio0_.TRACTORSTANDARD as TRACTOR54_120_0_, publicatio0_.TRACTORNOTES as TRACTOR55_120_0_, publicatio0_.TRACTORNAME as TRACTOR56_120_0_, publicatio0_.TRACTORPHONE as TRACTOR57_120_0_, publicatio0_.TRAILERSTANDARD as TRAILER58_120_0_, publicatio0_.TRAILERNOTES as TRAILER59_120_0_, publicatio0_.TRAILERNAME as TRAILER60_120_0_, publicatio0_.TRAILERPHONE as TRAILER61_120_0_, publicatio0_.GENERALCOMMENTS as GENERAL62_120_0_, publicatio0_.CC as CC120_0_, publicatio0_.PCMILERMETHOD as PCMILER64_120_0_, publicatio0_.CHANGEMILEAGESOURCE as CHANGEM65_120_0_, publicatio0_.RATETYPEGRIDCALC as RATETYP66_120_0_, publicatio0_.EQUIPMENTTYPEGRIDCALC as EQUIPME67_120_0_, publicatio0_.STATUS as STATUS120_0_, publicatio0_.ASSESSORIALNONSTANDARD as ASSESSO69_120_0_, publicatio0_.FUELNONSTANDARD as FUELNON70_120_0_, publicatio0_.TRACTORNONSTANDARD as TRACTOR71_120_0_, publicatio0_.TRAILERNONSTANDARD as TRAILER72_120_0_, publicatio0_.CONTACTMETHODCONID as CONTACT73_120_0_, publicatio0_.TRAILERCONID as TRAILER74_120_0_, publicatio0_.TRACTORCONID as TRACTOR75_120_0_, publicatio0_.CONTACTMETHODEMAIL as CONTACT76_120_0_, publicatio0_.CONTACTMETHODFAX as CONTACT77_120_0_, publicatio0_.CONTACTMETHODNAME as CONTACT78_120_0_, publicatio0_.CONTACTMETHODADDRDESC as CONTACT79_120_0_, publicatio0_.CONTACTMETHODADDR1 as CONTACT80_120_0_, publicatio0_.CONTACTMETHODADDR2 as CONTACT81_120_0_, publicatio0_.CONTACTMETHODCITY as CONTACT82_120_0_, publicatio0_.CONTACTMETHODADDRSTATE as CONTACT83_120_0_, publicatio0_.CONTACTMETHODADDRPOSTAL as CONTACT84_120_0_, publicatio0_.PUBLICATIONID as PUBLICA85_120_0_, publicatio0_.CCCUSTOMER as CCCUSTOMER120_0_, publicatio0_.BILLINGCONID as BILLING87_120_0_, publicatio0_.SUBMITUSERID as SUBMITU88_120_0_, publicatio0_.SUBMITDATE as SUBMITDATE120_0_, publicatio0_.SUBMITLINK as SUBMITLINK120_0_, publicatio0_.INTERNATIONAL as INTERNA91_120_0_, publicatio0_.LCL as LCL120_0_, publicatio0_.OCEAN20 as OCEAN93_120_0_, publicatio0_.OCEAN40 as OCEAN94_120_0_, publicatio0_.OCEAN40HIGH as OCEAN95_120_0_, publicatio0_.OCEAN45 as OCEAN96_120_0_, publicatio0_.STANDARDAIR as STANDAR97_120_0_, publicatio0_.EXPRESSAIR as EXPRESSAIR120_0_, publicatio0_.RATEINCREASE as RATEINC99_120_0_, publicatio0_.RATEINCREASEYEAR as RATEIN100_120_0_, publicatio0_.CONTACTMETHODCOUNTRY as CONTAC101_120_0_, publicatio0_.TRACTOREMAIL as TRACTO102_120_0_, publicatio0_.TRAILEREMAIL as TRAILE103_120_0_ FROM C_PUBLICATIONS publicatio0_ WHERE publicatio0_.ACCOUNTID=?
My guess something's terribly wrong in 7.5.4
02-07-2012 09:25 AM
Now you know why I said "If that does not give you the performance you want, use an HQL data source" I've run into several issues with smartselection and stock data sources. I've taken to crating any new grids with HQL as they seem to perform a lot better.
02-07-2012 03:54 PM
RJ - by 7.5.4 "Smart Selection" is used by the datasource by default and it only falls back to just selecting the child collection if it is specifically set to false in custom code. Do you have any custom code that is iterating through this child collection, or even touching the collection property to get the count or something?
02-07-2012 04:02 PM
Dug into this further late last night (and have been on the phone with the customer all day. trying to come up with a solution).....
1. Custom Selection works fine!
2. hqldatasource turned out to be faster than a datasource because of the control over record selection and multiple column order by.
3. This specific error was caused by an OnLoad action code snippet.....the code grabbed the 1:Many entity object to the same table as the grid.....looking at SLX Profiler we though the processing was against the grid.....it's against the script......
We're working on a solution to processing 600 rows against another portal row by row with the entire set of the entity's properties times 600+ rows.....this is timing out at 1.5 minutes.....
Thanks for your time!