[teiid-issues] [JBoss JIRA] (TEIID-5903) Performance problems

Steven Hawkins (Jira) issues at jboss.org
Thu Feb 13 10:19:01 EST 2020


    [ https://issues.redhat.com/browse/TEIID-5903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971256#comment-13971256 ] 

Steven Hawkins edited comment on TEIID-5903 at 2/13/20 10:18 AM:
-----------------------------------------------------------------

makedep is not necessary here as this will pushdown as a single query.  Your total time includes planning and establishing a connection.  Teiid spring boot does not have pooling for non-jdbc connections TEIIDSB-163, so you will incur that connection cost on each query after TEIIDSB-158.  You can eliminate the planning time (which should be very small) by using a prepared statement.


was (Author: shawkins):
makedep is not necessary here as this will pushdown as a single query.  Your total time includes planning and establishing a connection.  Teiid spring boot does not have pooling for non-jdbc connections TEIIDTSB-163, so you will incur that connection cost on each query after TEIIDSB-158.  You can eliminate the planning time (which should be very small) by using a prepared statement.

> Performance problems
> --------------------
>
>                 Key: TEIID-5903
>                 URL: https://issues.redhat.com/browse/TEIID-5903
>             Project: Teiid
>          Issue Type: Enhancement
>          Components: Salesforce Connector
>    Affects Versions: 13.0.2
>            Reporter: Renat Eskenin
>            Assignee: Steven Hawkins
>            Priority: Major
>
> If we call SOQL
> {code:sql}
> SELECT Account.BillingCountry__c, Account.Name from Contact LIMIT 1
> {code}
> We have time in salesforce workbench (UI for SOAP): Returned records 1 - 1 of 1 total record in 0.947 seconds:
> If we call SQL over teiid spring salesforce example:
> {code:sql}
> SELECT Account.BillingCountry__c, Account.Name from Contact LEFT OUTER JOIN /*+ MAKEDEP */ Account 
> on Contact.AccountId = Account.id 
> LIMIT 1
> {code}
> we have request time: Time from sf:3.561s
> How we can optimize request time?
> We used 
> {code}
> @Autowired
> 	private DataSource sfds;
> @Bean
> 	@Primary
> 	public NamedParameterJdbcTemplate getSfNamedParameterJdbcTemplate() {
> 		return new NamedParameterJdbcTemplate(sfds);
> 	}
> {code}
> And
> {code}
> @Autowired
> private NamedParameterJdbcTemplate sftemplate;
> long start = System.currentTimeMillis();
> SqlRowSet rowSet = jdbcTemplate.queryForRowSet(sql, params);
> log.info("Time from {}:{}", sourceName, (((double) (System.currentTimeMillis() - start)) / 1000.0d));
> {code}



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the teiid-issues mailing list