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?
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
0
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 ?
0
Geert GOracle dbaCommented:
delphi is all about code
if you don't supply code, it's mainly guessing where your problem is
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

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
0
Geert GOracle dbaCommented:
database type ?
0
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
0
Geert GOracle dbaCommented:
Zeos lib components don't have this functionality
you'll have to use other components or do it with sql
0
panJamesAuthor Commented:
Firebird
0

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.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.