I’m having a similar sort of problem in my solution but it’s already slow in Developer.
Whenever I select a different module it’s loading for 10 seconds on average.
There’s not too many queries fired and their timing is ok, also the invokes number is below 20 for one of them and only 1-2 for the rest of the queries in most of our modules.
This is the server performance output (cleared statistics, selected a module, here’s the output). It’s not so bad, is it?
The count on the top line can go up to 30 for some modules that have many grids (we build the grid fields dynamically) but even if I remove that piece of functionality the speed stays same slow.
Total Time (mm:ss:ms) Count Avg Time (mm:ss:ms) Type Action
00:00:024 6 00:00:004 Find select idSystem_GridFieldAttributes from System_GridFieldAttributes where idSystem_GridAttributes = ? and idSystem_Organization = ? order by idSystem_GridFieldAttributes asc
00:00:015 4 00:00:003 Relation select idPhone, phoneNumber, extension, countryCode, phoneType, isDefault, idCustomerContact, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, areacode from Phone where (idCustomerContact = ? and isDefault = ? and phoneType = ?) and idSystem_Organization = ? order by idPhone asc
00:00:013 4 00:00:003 Relation select idPhone, phoneNumber, extension, countryCode, phoneType, isDefault, idCustomerContact, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, areacode from Phone where (isDefault = ? and idCustomerContact = ? and phoneType = ?) and idSystem_Organization = ? order by idPhone asc
00:00:012 3 00:00:004 Relation select idSystem_GridFieldAttributes, idSystem_GridAttributes, fieldName, isVisible, fieldWidth, fieldHeight, locationX, locationY, sortOrder, sequenceNumber, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, titleText, dataProvider, displayType, format, tooltip, horizontalAlignment, onAction, onDataChange, onFocusGained, onFocusLost, onRightclick, valueList, editable, isTotaled from System_GridFieldAttributes where idSystem_GridAttributes = ? and idSystem_Organization = ? order by idSystem_GridFieldAttributes asc
00:00:012 4 00:00:003 Relation select idWebSite, webSiteAddress, idLookUp_WebsiteType, isDefault, idCustomerContact, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from WebSite where (idCustomerContact = ? and isDefault = ?) and idSystem_Organization = ? order by idWebSite asc
00:00:011 4 00:00:002 Relation select idCustContactHasCustPerson, idCustomerContact, idCustomerPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isDefault, thePosition from CustContact_has_CustPerson where (isDefault = ? and idCustomerContact = ?) and idSystem_Organization = ? order by idCustContactHasCustPerson asc
00:00:011 4 00:00:002 Relation select idCustContactHasCustSite, idCustomerContact, idCustomerSite, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isDefault from CustContact_has_CustSite where idCustomerContact = ? and idSystem_Organization = ? order by idCustContactHasCustSite asc
00:00:011 4 00:00:002 Relation select idCustContactHasLkpJobType, idCustomerContact, idLookUp_JobType, idLookUp_Department, idLookUp_Priority, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from CustContact_has_Lkp_JobType where idCustomerContact = ? and idSystem_Organization = ? order by idCustContactHasLkpJobType asc
00:00:011 4 00:00:002 Relation select idCustomerContactHasAddress, idCustomerContact, idAddress, isBillingAddress, isDefaultAddress, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, idLookUp_AddressType from CustomerContact_has_Address where (isBillingAddress = ? and idCustomerContact = ?) and idSystem_Organization = ? order by idCustomerContactHasAddress asc
00:00:011 4 00:00:002 Relation select idCustomerContactHasAddress, idCustomerContact, idAddress, isBillingAddress, isDefaultAddress, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, idLookUp_AddressType from CustomerContact_has_Address where (isDefaultAddress = ? and idCustomerContact = ?) and idSystem_Organization = ? order by idCustomerContactHasAddress asc
00:00:011 4 00:00:002 Relation select idCustomerContactHasAddress, idCustomerContact, idAddress, isBillingAddress, isDefaultAddress, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, idLookUp_AddressType from CustomerContact_has_Address where idCustomerContact = ? and idSystem_Organization = ? order by idCustomerContactHasAddress asc
00:00:011 4 00:00:002 Relation select idCustomerContactHasDocument, idCustomerContact, idDocument, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from CustomerContact_has_Document where idCustomerContact = ? and idSystem_Organization = ? order by idCustomerContactHasDocument asc
00:00:011 4 00:00:002 Relation select idCustomerContactHasEmployee, idCustomerContact, idEmployee, isDefault, idLookUp_JobType, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from CustomerContact_has_Employee where idCustomerContact = ? and idSystem_Organization = ? order by idCustomerContactHasEmployee asc
00:00:011 4 00:00:002 Relation select idEmail, emailAddress, idLookUp_EmailType, isDefault, idCustomerContact, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from Email where (idCustomerContact = ? and isDefault = ?) and idSystem_Organization = ? order by idEmail asc
00:00:011 3 00:00:003 Relation select idPhone, phoneNumber, extension, countryCode, phoneType, isDefault, idCustomerContact, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, areacode from Phone where (isDefault = ? and phoneType = ? and idPerson = ?) and idSystem_Organization = ? order by idPhone asc
00:00:010 4 00:00:002 Aggregate SQL select count(idCustContactHasCustPerson) as numContact from CustContact_has_CustPerson where (isDefault = ? and idCustomerContact = ?) and idSystem_Organization = ?
00:00:008 3 00:00:002 Custom SELECT queryvalue FROM system_query WHERE queryname = ?
00:00:007 2 00:00:003 Relation select idPhone, phoneNumber, extension, countryCode, phoneType, isDefault, idCustomerContact, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, areacode from Phone where (phoneType = ? and isDefault = ? and idPerson = ?) and idSystem_Organization = ? order by idPhone asc
00:00:007 3 00:00:002 Find select idSystem_GridAttributes from System_GridAttributes where (isConfigurationActive = ? and idSystem_User = ? and formName = ?) and idSystem_Organization = ? order by idSystem_GridAttributes asc
00:00:006 3 00:00:002 Find select idSystem_GridAttributes from System_GridAttributes where idSystem_Organization = ? order by idSystem_GridAttributes asc
00:00:005 2 00:00:002 Aggregate SQL select count(idCustomerPerson) as customerpersonCount from CustomerPerson where idCustomerPerson = ? and idSystem_Organization = ?
00:00:004 1 00:00:004 Insert insert into System_AuditKey (idSystem_AuditKey, idSystem_Audit, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, auditKey, idSystem_AuditTableKey, idSystem_Organization) values (?, ?, ?, ?, ?, ?, ?, ?, ?)
00:00:004 2 00:00:002 Relation select idCustomerPerson, idLookUp_Department, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from CustomerPerson where idCustomerPerson = ? and idSystem_Organization = ? order by idCustomerPerson asc
00:00:004 2 00:00:002 Relation select idCustomerSite, notes, idAddress_SITE, idAddress_BILLING, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, siteName, siteCode, siteReference from CustomerSite where idCustomerSite = ? and idSystem_Organization = ? order by idCustomerSite asc
00:00:004 1 00:00:004 Relation select idPhone, phoneNumber, extension, countryCode, phoneType, isDefault, idCustomerContact, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, areacode from Phone where (phoneType = ? and idPerson = ? and isDefault = ?) and idSystem_Organization = ? order by idPhone asc
00:00:003 1 00:00:003 Custom SELECT a.idemployee, a.employeecode, b.firstname, b.lastname FROM employee a, person b WHERE a.idperson = b.idperson and a.idsystem_organization = ? and a.idsystem_organization = b.idsystem_organization and a.datefinished is null
00:00:003 1 00:00:003 Insert insert into System_Audit (idSystem_Audit, auditType, notes, rec_modificationUser, rec_modificationDate, rec_creationUser, rec_creationDate, idSystem_Organization) values (?, ?, ?, ?, ?, ?, ?, ?)
00:00:003 1 00:00:003 Aggregate SQL select count(idCustomerContact) as customerCount from CustomerContact where idSystem_Organization = ?
00:00:003 1 00:00:003 Relation select idAddress, street, city, theState, postcode, mapReference, country, notes, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from Address where idAddress = ? and idSystem_Organization = ? order by idAddress asc
00:00:003 1 00:00:003 Load foundset select idCustomerContact from CustomerContact where idSystem_Organization = ? order by idCustomerContact asc
00:00:003 1 00:00:003 Load foundset select idCustomerContact, idLookUp_AccountStatus, idLookUp_CostCentre, idLookUp_CustomerType, idLookUp_LaborType, idLookUp_PaymentType, idLookUp_TaxCode, idLookUp_Industry, idLookUp_PaymentTerms, idLookUp_ServiceCode, jobCustReference, isInvoiceBillable, isPartsPrintable, isLaborPrintable, isEquipmentPrintable, isJobOrderNumberCompulsory, sellingPriceMethod, discountApplied, creditLimit, defaultServiceFee, customerName, notes, jobNotes, abn, idLookUp_Source, idlookup_servicearea, customercontactcode, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, idLookUp_ProductPriceCode, idEmployee, idLookUp_TaxCode_Labour, idLookUp_TaxCode_Parts, idLookUp_ProductLocation, idLookUp_EmployeeGroup from CustomerContact where idCustomerContact in (?, ?, ?, ?) and idSystem_Organization = ?
00:00:003 1 00:00:003 Relation select idCustomerSiteHasCustomerPerson, idCustomerSite, idCustomerPerson, idSystem_Organization, rec_creationDate, rec_creationUser, rec_modificationDate, rec_modificationUser, isDefault from CustomerSite_has_CustomerPerson where (idCustomerSite = ? and isDefault = ?) and idSystem_Organization = ? order by idCustomerSiteHasCustomerPerson asc
00:00:003 1 00:00:003 Relation select idEmail, emailAddress, idLookUp_EmailType, isDefault, idCustomerContact, idPerson, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from Email where (idPerson = ? and isDefault = ?) and idSystem_Organization = ? order by idEmail asc
00:00:003 1 00:00:003 Load foundset select idInvoice, invoiceNumber, datePrinted, datePosted, dateinvoicedue, deliveryamountcurrency, otheramountcurrency, servicefeecurrency, deliveryamount, otheramount, servicefeeamount, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isOnHold, invoicedate, idLookUp_TaxCode, idInvoiceBilling, isClosed, isAmountsIncludeTax, invoiceComment, idCustomerContact, invoiceReference, totalIncTaxOwing, lockedInvoiceAmount, invoiceNumberPrefix, invoiceNumberSuffix from Invoice where idInvoice in (?, ?, ?) and idSystem_Organization = ?
00:00:003 1 00:00:003 Load foundset select idLookUp_AccountStatus, accountStatusId, accountStatusDescription, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, statusAction, isDefault from LookUp_AccountStatus where idLookUp_AccountStatus in (?, ?) and idSystem_Organization = ?
00:00:003 1 00:00:003 Load foundset select idLookUp_PaymentType, paymentTypeId, paymentTypeDescription, detailType, cardType, creditCardFeePartNumber, creditCardFeeSurcharge, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isDefault from LookUp_PaymentType where idLookUp_PaymentType in (?, ?, ?) and idSystem_Organization = ?
00:00:003 1 00:00:003 Load foundset select idLookUp_Priority, priorityId, priorityDescription, officeHoursStart, officeHoursEnd, responseTime, estimatedDuration, serviceFee, minCharge, escalationFirstWarning, escalationSecondWarning, escalationFinalWarning, workOnSaturday, workOnSunday, isChargeParts, isChargeLabor, isIgnoreMinimumCharge, isIgnoreServiceFee, idLookUp_LaborType, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isDefault from LookUp_Priority where idLookUp_Priority = ? and idSystem_Organization = ?
00:00:003 1 00:00:003 Load foundset select idLookUp_ProductPriceCode, productPriceCodeId, productPriceCodeDescription, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, seq, isDefault, defaultMarkup from LookUp_ProductPriceCode where idLookUp_ProductPriceCode in (?, ?, ?) and idSystem_Organization = ?
00:00:003 1 00:00:003 Relation select idPerson, firstname, lastname, idLookUp_PersonTitle, notes, birthday, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser from Person where idPerson = ? and idSystem_Organization = ? order by idPerson asc
00:00:002 1 00:00:002 Custom SELECT idinvoice FROM invoice a JOIN invoicebilling b ON a.idinvoicebilling = b.idinvoicebilling WHERE b.idcustomercontact = ?
00:00:002 1 00:00:002 Load foundset select idInvoice from Invoice where idSystem_Organization = ? order by idInvoice asc
00:00:002 1 00:00:002 Load foundset select idLookUp_AccountStatus from LookUp_AccountStatus where idSystem_Organization = ? order by idLookUp_AccountStatus asc
00:00:002 1 00:00:002 Load foundset select idLookUp_CostCentre from LookUp_CostCentre where idSystem_Organization = ? order by idLookUp_CostCentre asc
00:00:002 1 00:00:002 Load foundset select idLookUp_CostCentre, costCentreId, costCentreDescription, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isDefault from LookUp_CostCentre where idLookUp_CostCentre in (?, ?, ?, ?, ?) and idSystem_Organization = ?
00:00:002 1 00:00:002 Load foundset select idLookUp_CustomerType from LookUp_CustomerType where idSystem_Organization = ? order by idLookUp_CustomerType asc
00:00:002 1 00:00:002 Load foundset select idLookUp_CustomerType, customerTypeId, customerTypeDescription, calloutFee, idLookUp_LaborType, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isDefault from LookUp_CustomerType where idLookUp_CustomerType in (?, ?) and idSystem_Organization = ?
00:00:002 1 00:00:002 Load foundset select idLookUp_Industry from LookUp_Industry where idSystem_Organization = ? order by idLookUp_Industry asc
00:00:002 1 00:00:002 Load foundset select idLookUp_JobType from LookUp_JobType where idSystem_Organization = ? order by idLookUp_JobType asc
00:00:002 1 00:00:002 Load foundset select idLookUp_PaymentTerms from LookUp_PaymentTerms where idSystem_Organization = ? order by idLookUp_PaymentTerms asc
00:00:002 1 00:00:002 Load foundset select idLookUp_PaymentType from LookUp_PaymentType where idSystem_Organization = ? order by idLookUp_PaymentType asc
00:00:002 1 00:00:002 Load foundset select idLookUp_Priority from LookUp_Priority where idSystem_Organization = ? order by idLookUp_Priority asc
00:00:002 1 00:00:002 Load foundset select idLookUp_ProductPriceCode from LookUp_ProductPriceCode where idSystem_Organization = ? order by idLookUp_ProductPriceCode asc
00:00:002 1 00:00:002 Load foundset select idLookUp_ServiceCode from LookUp_ServiceCode where idSystem_Organization = ? order by idLookUp_ServiceCode asc
00:00:002 1 00:00:002 Load foundset select idLookUp_Source from LookUp_Source where idSystem_Organization = ? order by idLookUp_Source asc
00:00:002 1 00:00:002 Load foundset select idLookUp_Source, sourceId, sourceDescription, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isDefault from LookUp_Source where idLookUp_Source in (?, ?) and idSystem_Organization = ?
00:00:002 1 00:00:002 Load foundset select idLookUp_TaxCode from LookUp_TaxCode where idSystem_Organization = ? order by idLookUp_TaxCode asc
00:00:002 1 00:00:002 Load foundset select idLookUp_TaxCode, taxCodeId, taxCodeDescription, rate, notes, idSystem_Organization, rec_creationDate, rec_modificationDate, rec_creationUser, rec_modificationUser, isDefault from LookUp_TaxCode where idLookUp_TaxCode in (?, ?, ?) and idSystem_Organization = ?
00:00:001 1 00:00:001 Custom SELECT job.idjob FROM job JOIN jobcustomer ON job.idjobcustomer = jobcustomer.idjobcustomer WHERE jobcustomer.idcustomercontact = ?
I checked my calculations, they’re not even executed at module load time.
There’s only up to 10 records in each module, so it’s not a heavy data load issue.
I debugged onLoad(), onRecordSelection and other methods that might have something in them but found nothing that slows the solution down.
Could it be how CSS is implemented? We have new styles but it’s already been slow before that…
I am stuck.
Could anyone come up with more suggestions please?
Cheers,
Maria