Unless that's disallowed too, you could use a couple of triggers which would
update the stats table(s) on insert/delete/update to the main tables in each
database.

Sincerely yours,
Olexandr Melnyk
http://omelnyk.net/


On Fri, Nov 21, 2008 at 10:31 PM, Andre Matos <[EMAIL PROTECTED]>wrote:

> The reason for having many databases with the same "structure" but with
> different data is because for regulatory and compliance requirements. Each
> database belongs to a separate company: company specific database. The
> applications (some written in PHP4 and others in J2EE) are unique and they
> can access one database each time. Connect to one database and then
> disconnect to connect to a different one.
>
> The issue is when I need to collect some data for statistics purpose.
> Unfortunately, I cannot have an official application to go through all
> database or even use the MERGE table as suggested here in the list. I am not
> allowed to. That's why I was thinking to use only a SELECT statement to do
> the job as I have been doing.
>
> Thanks,
>
> Andre
>
>
>
>
>
> On 21-Nov-08, at 3:16 PM, Olexandr Melnyk wrote:
>
>  Hello Andre,
>>
>> I would recommend you to rethink your criteria (if there's any) for
>> splitting data into multiple tables.
>>
>> Because now. the more tables you add, the more of a performance problem it
>> may cause.
>>
>> --
>> Sincerely yours,
>> Olexandr Melnyk
>> http://omelnyk.net/
>>
>>
>> On Fri, Nov 21, 2008 at 9:58 PM, Andre Matos <[EMAIL PROTECTED]
>> >wrote:
>>
>>  Thanks everyone for the help.
>>>
>>> I was trying to use any API (e.g. PHP, Java, etc). I just gave up because
>>> unfortunately the time fly and the user needs this asap. I am doing via
>>> script.
>>>
>>> Thanks!
>>>
>>> Andre
>>>
>>>
>>>
>>> On 21-Nov-08, at 2:34 PM, Jerry Schwartz wrote:
>>>
>>> "Many MySQL APIs (such as PHP) allow you to treat the result returned
>>> from
>>>
>>>> a
>>>> SHOW statement as you would a result set from a SELECT; see Chapter 22,
>>>> APIs
>>>> and Libraries, or your API documentation for more information. In
>>>> addition,
>>>> you can work in SQL with results from queries on tables in the
>>>> INFORMATION_SCHEMA database, which you cannot easily do with results
>>>> from
>>>> SHOW statements. See Chapter 20, The INFORMATION_SCHEMA Database."
>>>>
>>>> You should be able to "refresh" your MERGE table using a programming
>>>> language. Get a list of the databases, then construct a CREATE TABLE or
>>>> what
>>>> have you.
>>>>
>>>> -----Original Message-----
>>>>
>>>>> From: Andre Matos [mailto:[EMAIL PROTECTED]
>>>>> Sent: Friday, November 21, 2008 2:11 PM
>>>>> To: [EMAIL PROTECTED]
>>>>> Cc: mysql@lists.mysql.com
>>>>> Subject: Re: SELECT through many databases
>>>>>
>>>>> I was trying to avoid both since the SELECT statement is not fixed.
>>>>> Time to time, users want different information.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Andre
>>>>>
>>>>> On 21-Nov-08, at 12:59 PM, Peter Brawley wrote:
>>>>>
>>>>> Andre Matos wrote:
>>>>>
>>>>>>
>>>>>> Today I have 5, but tomorrow I can have 50 and I don't want to
>>>>>>
>>>>>>>
>>>>>>>  forget any database.
>>>>>>
>>>>>> Do it in an app language or as a PREPARED statement in an sproc.
>>>>>>
>>>>>> PB
>>>>>>
>>>>>> ---
>>>>>>
>>>>>> Andre Matos wrote:
>>>>>>
>>>>>>  Hello,
>>>>>>>
>>>>>>> Let's suppose I have 5 database: db1, db2, db3, db4, and db5. They
>>>>>>> all have the same structure but different data.
>>>>>>>
>>>>>>> I would like perform this select
>>>>>>>
>>>>>>> SELECT TaskDoneOn, TaskDoneBy
>>>>>>> FROM {database}
>>>>>>> WHERE TaskDoneOn IS NOT NULL
>>>>>>>
>>>>>>> and collect the data from all 5 database. However, I would like to
>>>>>>> avoid doing something like this:
>>>>>>>
>>>>>>> SELECT TaskDoneOn, TaskDoneBy
>>>>>>> FROM db1
>>>>>>> WHERE TaskDoneOn IS NOT NULL
>>>>>>> UNION
>>>>>>> SELECT TaskDoneOn, TaskDoneBy
>>>>>>> FROM db2
>>>>>>> WHERE TaskDoneOn IS NOT NULL
>>>>>>> UNION
>>>>>>> SELECT TaskDoneOn, TaskDoneBy
>>>>>>> FROM db3
>>>>>>> WHERE TaskDoneOn IS NOT NULL
>>>>>>> UNION
>>>>>>> SELECT TaskDoneOn, TaskDoneBy
>>>>>>> FROM db4
>>>>>>> WHERE TaskDoneOn IS NOT NULL
>>>>>>> UNION
>>>>>>> SELECT TaskDoneOn, TaskDoneBy
>>>>>>> FROM db5
>>>>>>> WHERE TaskDoneOn IS NOT NULL
>>>>>>>
>>>>>>>
>>>>>>> Today I have 5, but tomorrow I can have 50 and I don't want to
>>>>>>> forget any database.
>>>>>>>
>>>>>>> Thanks for any help.
>>>>>>>
>>>>>>> Andre
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>>
>>>>>>>  ---
>>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>> Internal Virus Database is out of date.
>>>>>>> Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus
>>>>>>> Database: 270.9.0/1777 - Release Date: 11/9/2008 9:53 AM
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>> Dr. André Matos
>>>>> [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> MySQL General Mailing List
>>>>> For list archives: http://lists.mysql.com/mysql
>>>>> To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
>>>>> infoshop.com
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> MySQL General Mailing List
>>>> For list archives: http://lists.mysql.com/mysql
>>>> To unsubscribe:
>>>> http://lists.mysql.com/[EMAIL PROTECTED]
>>>>
>>>>
>>>>  --
>>> Dr. André Matos
>>> [EMAIL PROTECTED]
>>>
>>>
>>>
>>>
>>> --
>>> MySQL General Mailing List
>>> For list archives: http://lists.mysql.com/mysql
>>> To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
>>>
>>>
>>>
> --
> Dr. André Matos
> [EMAIL PROTECTED]
>
>
>
>

Reply via email to