Two TZQuery'ies connected via MasterSource

Hello Experts!

I have to TZQuery components.

They are providing data from two Master- Detail tables.

It looks like this:

1.

select * from table1 where index = 1;

2.

select * from table2;

These two TZQuery are connected together via MasterSource, MasterFields, LinkedFields and IndexFieldNames.

It works fine but slowly.

I wonder if I could make it work faster...?

Maybe I should avoid queries like:

select * from table2?

What is the best practice to realize this master- detail connection?

Thank you

panJames
panJamesAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Geert GOracle dbaCommented:
to provide tuning solution, you'll need to indicate what database you are using
in general:
minimize your column list (only select columns you really want)
minimize your rows returned (do you actually read more than 25 lines ?)

for master-detail you can usually combine in 1 query

select
  m.column1 master_col1,
  m.column2 master_col2,
  m.column3 master_col3,
  d.column1 detail_col1,
  d.column2 detail_col2
from table1 m
  left join table2 d on m.mastercolumn = d.mastercolumn
where m.index = 1;

displaying the data in the detail view can be done by applying a filter on the data in memory
Geert GOracle dbaCommented:
when tuning a problem the basics should be checked too:
network > amount of data to copy
local pc > cpu load, memory,
database type > local, server, load
query > optimal execution path ?
Geert GOracle dbaCommented:
delphi is all about code
if you don't supply code, it's mainly guessing where your problem is
Need More Insight Into What’s Killing Your Network

Flow data analysis from SolarWinds NetFlow Traffic Analyzer (NTA), along with Network Performance Monitor (NPM), can give you deeper visibility into your network’s traffic.

panJamesAuthor Commented:
"minimize your rows returned (do you actually read more than 25 lines ?)"

how do you make your query return only lets say maximum 25 lines?

Thank you

panJames
Geert GOracle dbaCommented:
database type ?
Geert GOracle dbaCommented:
mysql
select columns from table LIMIT 1, 25

oracle
select columns from table where rownum <= 25
> doesn't have a offset

in the properties of some query components you can find this:
FethAll: boolean; (default false)
FetchCount: 25; (default)

some grids like devexpress know this and can call FetchNext to get all data
Geert GOracle dbaCommented:
Zeos lib components don't have this functionality
you'll have to use other components or do it with sql
panJamesAuthor Commented:
Firebird

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.