Hi,

Sorry for the delay. So, as far as I see, it is still slow even if the
MVStore and MVCC are both disabled. Is this what you see as well?

With MVStore + MVCC: 105 seconds
Without MVStore + MVCC: 99 seconds

I think it doesn't matter if you use an old version of H2, it would also be
slow. So in my view the subject of the mail is wrong: it's not a problem of
MVStore or MVCC. The problem show up if you use this (a newer?) version of
this Guidewire library (com.guidewire.pl.system.database.upgrade), which
runs those metadata queries that are slow in H2.

I'm not saying this is a bug in this Guidewire library, it's just that
those queries are very slow. It would be nice if H2 could be improved to
support that, but I'm afraid I will not have time to work on that in the
near future. Right now, my priority is to solve the remaining MVStore
problems related to power failure.

Regards,
Thomas




On Wednesday, July 15, 2015, Wes Clark <[email protected]
<javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:

> Ping.
>
> On Thursday, July 9, 2015 at 3:54:02 PM UTC-7, Wes Clark wrote:
>>
>> I just sent you an email with a link.  Please confirm you got it.
>>
>> On Wednesday, July 8, 2015 at 10:44:10 PM UTC-7, Thomas Mueller wrote:
>>>
>>> Hi,
>>>
>>> Yes, that makes sense. I can reproduce the problem with a simple test
>>> case (that creates many tables and indexes). I have an idea how this could
>>> be solved by changing the database metadata code (MetaTable.java), but it
>>> is a bit complicated.
>>>
>>> Just to confirm that this is not a MVStore or MVCC problem, but a
>>> general problem reading database metadata: Can you reproduce the problem
>>> when you append ";mv_store=false;mvcc=false" to the database URL, with a
>>> recent version of H2 (but exactly the same version of
>>> com.guidewire.pl.system.database)?
>>>
>>> Regards,
>>> Thomas
>>>
>>>
>>>
>>> On Wednesday, July 8, 2015, Wes Clark <[email protected]> wrote:
>>>
>>>> select count(*) from INFORMATION_SCHEMA.TABLES;
>>>> COUNT(*)
>>>> <http://10.58.2.44:8082/query.do?jsessionid=a463531bf3c62477a31f00116b7beda7#>
>>>> 1713(1 row, 34 ms)
>>>>
>>>> select count(*) from INFORMATION_SCHEMA.INDEXES;
>>>> COUNT(*)
>>>> <http://10.58.2.44:8082/query.do?jsessionid=a463531bf3c62477a31f00116b7beda7#>
>>>> 7557
>>>> This is "sample" database.  We have four other databases which might be
>>>> twice or three times as big, but same order of magniture.
>>>>
>>>> On Wednesday, July 8, 2015 at 9:35:49 AM UTC-7, Thomas Mueller wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> You first indicate that the query can be sped by taking into account
>>>>>> the schema name.
>>>>>>
>>>>>
>>>>> I'm sorry! Yes, first I thought changing the query would help, but
>>>>> then I found out there is no easy way to do that in this case. Even adding
>>>>> the schema name as a condition will not help. That is, if you need all the
>>>>> info that the query returns. The problem is the join (which is needed for
>>>>> the "is nullable" column). This join will not use an efficient index.
>>>>> (Actually there is an index, the MetaIndex, on the column "table_name", 
>>>>> and
>>>>> this index is used, but the index is inefficient if there are many 
>>>>> tables).
>>>>>
>>>>> Later you indicate I should change the metadata, for example to use
>>>>>> materialized metadata tables.
>>>>>>
>>>>>
>>>>> That change would ideally be done in H2.
>>>>>
>>>>>
>>>>>> What is the simplest way to make this query efficient?  Can it be
>>>>>> sped up by simply changing the query?
>>>>>>
>>>>>
>>>>> That's a good question.
>>>>>
>>>>> How does your schema look like? How many tables and how many indexes
>>>>> and schemas do you have?
>>>>>
>>>>> Regards,
>>>>> Thomas
>>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "H2 Database" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at http://groups.google.com/group/h2-database.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>  --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to