The problem is with query:
select KT.ID_KONTRAH, KT.ID_SLOWNIK, KT.NRKONTRAH, KT.NAZWASKR, KT.TERMINDNI, KT.PROCRABATNAGL, KT.ID_AKWIZYTORDEF,
KT.DOKZEW, KT.ID_ZRODLO_DANYCH_WRA, DK.ID_KONTRAH as ID, DK.ID_DANEKONTRAH, DK.NAZWADL, DK.NIP, DK.NIPW,
DK.MIEJSCOWOSC, DK.ULICA, DK.ID_KRAJ, DK.EMAILEFAKTURA, PL.NAZWASKR as PLATNIK, AK.NAZWISKOIMIE as AKWIZYTOR,
GK1.KODZLOZONY as GKK1, GK10001.KODZLOZONY as GKK10001, GK10002.KODZLOZONY as GKK10002,
GK10002.NAZWAZLOZONA as GKN10002, KP1.ID_KONTRAH_PRIORYTET, KP1.KOLOR, OZN.NR_OZNACZDOK
from KONTRAH KT
inner join WYSTGRKTR WGKF on (KT.ID_KONTRAH = WGKF.ID_KONTRAH) and
(WGKF.ID_RODZGRUPKTR = 10001)
inner join ZEST_GRUPAKONTRAH_LISTA ZGKL on (WGKF.ID_GRUPAKONTRAH = ZGKL.ID_GRUPAKONTRAHNAL) and
(ZGKL.ID_GRUPAKONTRAH = 10012)
inner join KONTRAH_PRIORYTET KP1 on (KT.ID_KONTRAH_PRIORYTET = KP1.ID_KONTRAH_PRIORYTET)
left outer join DANEKONTRAH DK on (KT.ID_KONTRAH = DK.ID_KONTRAH) and
(DK.BAZADANEKONTRAH = 1)
left outer join KONTRAH PL on (DK.ID_PLATNIKA = PL.ID_KONTRAH)
left outer join AKWIZYTOR AK on (KT.ID_AKWIZYTORDEF = AK.ID_AKWIZYTOR)
left outer join WYSTGRKTR WG1 on (KT.ID_KONTRAH = WG1.ID_KONTRAH) and
(WG1.ID_RODZGRUPKTR = 1)
left outer join GRUPAKONTRAH GK1 on (WG1.ID_GRUPAKONTRAH = GK1.ID_GRUPAKONTRAH)
left outer join WYSTGRKTR WG10001 on (KT.ID_KONTRAH = WG10001.ID_KONTRAH) and
(WG10001.ID_RODZGRUPKTR = 10001)
left outer join GRUPAKONTRAH GK10001 on (WG10001.ID_GRUPAKONTRAH = GK10001.ID_GRUPAKONTRAH)
left outer join WYSTGRKTR WG10002 on (KT.ID_KONTRAH = WG10002.ID_KONTRAH) and
(WG10002.ID_RODZGRUPKTR = 10002)
left outer join GRUPAKONTRAH GK10002 on (WG10002.ID_GRUPAKONTRAH = GK10002.ID_GRUPAKONTRAH)
left outer join OZNACZDOK OZN on (KT.ID_KONTRAH = OZN.ID_VALUE) and
(OZN.ID_UZYTKOWNIK = 12) and
(OZN.RODZAJ = 10)
where (KT.NIEHANDLOWYW = 0) and
((KT.BAZAKONTRAH = 0))
what I tried:
rebuilding/dropping and recreating indexes: FK_WYSTGRKT_GRKTRWYST_GRUPAKON, FK_WYSTGRKT_RGRKTRWYS_RODZGRUP, FK_KONTRAH_SLOWNIKRODZAJ, MK_ZEST_GRUPAKONTRAH_LISTA_G, PK_ZEST_GRUPAKONTRAH_LISTA
nothing changed
When I recreated KONTRAH as KONTRAH_NEW and adjusted query - nothing changed.
When I recreated WYSTGRKTR as WYSTGRKTR_NEW and adjusted query, query finally started working like on the database after restore.
Could you tell me please what statistics below can tell me and what I can do to fix data in WYSTGRKTR and avoid backup restore? Sorry for probably too many data.
Best regards,
Tomek.
gstat on old database:
WYSTGRKTR (392)
Primary pointer page: 1447, Index root page: 1448
Total formats: 1, used formats: 1
Average record length: 16.66, total records: 628985
Average version length: 0.00, total versions: 0, max versions: 0
Average fragment length: 0.00, total fragments: 0, max fragments: 0
Average unpacked length: 16.00, compression ratio: 0.96
Pointer pages: 1, data page slots: 2232
Data pages: 2232, average fill: 58%
Primary pages: 2232, secondary pages: 0, swept pages: 2231
Empty pages: 1, full pages: 2230
Fill distribution:
0 - 19% = 1
20 - 39% = 1
40 - 59% = 2230
60 - 79% = 0
80 - 99% = 0
FK_WYSTGRKT_GRKTRWYST_GRUPAKON
depth: 2
leaf buckets: 340
nodes: 629026
total dup: 628960
max dup: 208874
Clustering factor: 20685
Fill distribution:
20-39% = 1
40-59% = 325
60-79% = 5
80-99% = 9
FK_WYSTGRKT_RGRKTRWYS_RODZGRUP
depth: 2
leaf buckets: 284
nodes: 628985
total dup: 628982
max dup: 212258
Clustering factor: 6647
Fill distribution:
40-59% = 212
60-79% = 2
80-99% = 70
gstat on new database:
WYSTGRKTR (391)
Primary pointer page: 1502, Index root page: 1503
Pointer pages: 1, data page slots: 2256
Data pages: 2256, average fill: 58%
Primary pages: 2256, secondary pages: 0, swept pages: 2250
Empty pages: 5, full pages: 2249
Fill distribution:
0 - 19% = 5
20 - 39% = 1
40 - 59% = 2250
60 - 79% = 0
80 - 99% = 0
FK_WYSTGRKT_GRKTRWYST_GRUPAKON
depth: 2
leaf buckets: 199
nodes: 634658
total dup: 634592
max dup: 210763
Clustering factor: 20881
Fill distribution:
40-59% = 26
80-99% = 173
FK_WYSTGRKT_RGRKTRWYS_RODZGRUP
depth: 2
leaf buckets: 189
nodes: 634658
total dup: 634655
max dup: 214149
Clustering factor: 6707
Fill distribution:
40-59% = 5
60-79% = 1
80-99% = 183