Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
Развернул одну и ту же базу из бекапа на 2.5.3.26729 и на 3.0.0.30803 Код: sql 1. 2. 3. 4. 5. 6. План и статистика выполнения на 2.5 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. COUNT ______ 64055 План и статистика выполнения на 3.0 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. COUNT ______ 64055 Статистика по таблицам для 2.5Database "D:\interbasedata\horses.fdb" Database header page information: Flags 0 Checksum 12345 Generation 887 Page size 16384 ODS version 11.2 Oldest transaction 866 Oldest active 867 Oldest snapshot 867 Next transaction 876 Bumped transaction 1 Sequence number 0 Next attachment ID 5 Implementation ID 16 Shadow count 0 Page buffers 0 Next header page 0 Database dialect 1 Creation date Dec 19, 2013 16:47:52 Attributes force write Variable header data: Sweep interval: 20000 *END* Database file sequence: File D:\interbasedata\horses.fdb is the only file Analyzing database pages ... TRIAL (185) Primary pointer page: 430, Index root page: 431 Average record length: 58.16, total records: 107803 Average version length: 0.00, total versions: 0, max versions: 0 Data pages: 647, data page slots: 647, average fill: 77% Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 646 80 - 99% = 1 Index FK_TRIAL_CURATOR (10) Depth: 2, leaf buckets: 28, nodes: 107803 Average data length: 0.00, total dup: 107802, max dup: 107802 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_COMPLICATION (2) Depth: 2, leaf buckets: 28, nodes: 107803 Average data length: 0.00, total dup: 107799, max dup: 105712 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_COURSE (3) Depth: 2, leaf buckets: 28, nodes: 107803 Average data length: 0.00, total dup: 107579, max dup: 23728 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_CURRENCY (4) Depth: 2, leaf buckets: 28, nodes: 107803 Average data length: 0.00, total dup: 107781, max dup: 81858 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_DEPARTURE (5) Depth: 2, leaf buckets: 28, nodes: 107803 Average data length: 0.00, total dup: 107796, max dup: 47735 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_DISTANCE (6) Depth: 2, leaf buckets: 28, nodes: 107803 Average data length: 0.00, total dup: 107681, max dup: 54401 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_FARM (9) Depth: 2, leaf buckets: 22, nodes: 107803 Average data length: 0.00, total dup: 107795, max dup: 105065 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 21 Index FK_TRIAL_REF_PRIZE (7) Depth: 2, leaf buckets: 28, nodes: 107803 Average data length: 0.02, total dup: 106282, max dup: 63575 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 1 80 - 99% = 27 Index FK_TRIAL_REF_TRIALTYPE (8) Depth: 2, leaf buckets: 28, nodes: 107803 Average data length: 0.00, total dup: 107797, max dup: 72799 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index IDX_TRIAL_BYDATE (0) Depth: 2, leaf buckets: 29, nodes: 107803 Average data length: 0.31, total dup: 97721, max dup: 35692 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 28 Index PK_TRIAL (1) Depth: 2, leaf buckets: 35, nodes: 107803 Average data length: 1.02, total dup: 0, max dup: 0 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 34 PRIZE (170) Primary pointer page: 400, Index root page: 401 Average record length: 89.11, total records: 1543 Average version length: 0.00, total versions: 0, max versions: 0 Data pages: 13, data page slots: 13, average fill: 77% Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 1 80 - 99% = 11 Index FK_PRIZE_REF_AGE (9) Depth: 1, leaf buckets: 1, nodes: 1543 Average data length: 0.01, total dup: 1532, max dup: 650 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_DEPARTURE (8) Depth: 1, leaf buckets: 1, nodes: 1543 Average data length: 0.01, total dup: 1536, max dup: 940 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_DISTANCE (3) Depth: 1, leaf buckets: 1, nodes: 1543 Average data length: 0.06, total dup: 1459, max dup: 243 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_JUSTICE (4) Depth: 1, leaf buckets: 1, nodes: 1543 Average data length: 0.00, total dup: 1542, max dup: 1542 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_SEX (6) Depth: 1, leaf buckets: 1, nodes: 1543 Average data length: 0.00, total dup: 1540, max dup: 1393 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_TRIALSTATE (5) Depth: 1, leaf buckets: 1, nodes: 1543 Average data length: 0.01, total dup: 1540, max dup: 1088 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_TRIALTYPE (7) Depth: 1, leaf buckets: 1, nodes: 1543 Average data length: 0.00, total dup: 1538, max dup: 1216 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index PK_PRIZE_1 (0) Depth: 1, leaf buckets: 1, nodes: 1543 Average data length: 1.08, total dup: 0, max dup: 0 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 0 Index PRIZE_IDX_NAME (1) Depth: 2, leaf buckets: 2, nodes: 1543 Average data length: 11.52, total dup: 94, max dup: 8 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 1 Index PRIZE_IDX_NAME_EN (2) Depth: 2, leaf buckets: 2, nodes: 1543 Average data length: 11.64, total dup: 60, max dup: 7 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 1 TRIAL_LINE (186) Primary pointer page: 432, Index root page: 433 Average record length: 74.70, total records: 251941 Average version length: 0.00, total versions: 0, max versions: 0 Data pages: 1776, data page slots: 1776, average fill: 80% Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 1024 80 - 99% = 752 Index FK_TRIAL_LINE_CLASSSHOW (10) Depth: 2, leaf buckets: 74, nodes: 251941 Average data length: 0.00, total dup: 251932, max dup: 251905 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_HORSETITLE (9) Depth: 2, leaf buckets: 74, nodes: 251941 Average data length: 0.00, total dup: 251940, max dup: 251940 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_COUCH (2) Depth: 2, leaf buckets: 74, nodes: 251941 Average data length: 0.01, total dup: 250383, max dup: 90724 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_DISCIPLINE (3) Depth: 2, leaf buckets: 74, nodes: 251941 Average data length: 0.00, total dup: 251938, max dup: 174117 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_HORSE (4) Depth: 2, leaf buckets: 77, nodes: 251941 Average data length: 0.23, total dup: 194399, max dup: 354 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 77 Index FK_TRIAL_LINE_REF_MAN (5) Depth: 2, leaf buckets: 74, nodes: 251941 Average data length: 0.02, total dup: 246209, max dup: 48100 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_RANK (6) Depth: 2, leaf buckets: 74, nodes: 251941 Average data length: 0.00, total dup: 251937, max dup: 251934 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_TEAM (7) Depth: 2, leaf buckets: 74, nodes: 251941 Average data length: 0.00, total dup: 251926, max dup: 251884 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_TRIAL (8) Depth: 2, leaf buckets: 81, nodes: 251941 Average data length: 0.44, total dup: 144534, max dup: 62 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 80 Index PK_TRIAL_LINE (1) Depth: 2, leaf buckets: 89, nodes: 251941 Average data length: 1.00, total dup: 0, max dup: 0 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 89 Index TRIAL_LINE_PLACE_IDX (0) Depth: 2, leaf buckets: 73, nodes: 251941 Average data length: 0.00, total dup: 251903, max dup: 65156 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 1 80 - 99% = 72 Статистика по таблицам для 3.0Database "D:\interbasedata\3.0\horses.fdb" Database header page information: Flags 0 Generation 1234 System Change Number 0 Page size 16384 ODS version 12.0 Oldest transaction 1219 Oldest active 1220 Oldest snapshot 1220 Next transaction 1226 Sequence number 0 Next attachment ID 15 Implementation HW=Intel/i386 little-endian OS=Windows CC=MSVC Shadow count 0 Page buffers 0 Next header page 0 Database dialect 1 Creation date Dec 22, 2013 14:21:41 Attributes force write Variable header data: Sweep interval: 20000 *END* Database file sequence: File D:\interbasedata\3.0\horses.fdb is the only file Analyzing database pages ... PRIZE (170) Primary pointer page: 487, Index root page: 488 Total formats: 1, used formats: 1 Average record length: 89.11, total records: 1543 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: 202.00, compression ratio: 2.27 Pointer pages: 1, data page slots: 13 Data pages: 13, average fill: 77% Primary pages: 13, full pages: 12, swept pages: 0 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 1 80 - 99% = 11 Index FK_PRIZE_REF_AGE (9) Root page: 81996, depth: 1, leaf buckets: 1, nodes: 1543 Average node length: 3.61, total dup: 1532, max dup: 650 Average key length: 2.01, compression ratio: 2.25 Average prefix length: 4.51, average data length: 0.01 Clustering factor: 89, ratio: 0.06 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_DEPARTURE (8) Root page: 81995, depth: 1, leaf buckets: 1, nodes: 1543 Average node length: 3.61, total dup: 1536, max dup: 940 Average key length: 2.01, compression ratio: 1.00 Average prefix length: 1.99, average data length: 0.01 Clustering factor: 30, ratio: 0.02 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_DISTANCE (3) Root page: 81990, depth: 1, leaf buckets: 1, nodes: 1543 Average node length: 3.66, total dup: 1459, max dup: 243 Average key length: 2.06, compression ratio: 1.84 Average prefix length: 3.73, average data length: 0.06 Clustering factor: 270, ratio: 0.17 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_JUSTICE (4) Root page: 81991, depth: 1, leaf buckets: 1, nodes: 1543 Average node length: 3.60, total dup: 1542, max dup: 1542 Average key length: 2.00, compression ratio: 1.00 Average prefix length: 2.00, average data length: 0.00 Clustering factor: 13, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_SEX (6) Root page: 81993, depth: 1, leaf buckets: 1, nodes: 1543 Average node length: 3.60, total dup: 1540, max dup: 1393 Average key length: 2.00, compression ratio: 0.99 Average prefix length: 1.97, average data length: 0.00 Clustering factor: 35, ratio: 0.02 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_TRIALSTATE (5) Root page: 81992, depth: 1, leaf buckets: 1, nodes: 1543 Average node length: 3.61, total dup: 1540, max dup: 1088 Average key length: 2.01, compression ratio: 1.87 Average prefix length: 3.75, average data length: 0.01 Clustering factor: 21, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index FK_PRIZE_REF_TRIALTYPE (7) Root page: 81994, depth: 1, leaf buckets: 1, nodes: 1543 Average node length: 3.61, total dup: 1538, max dup: 1216 Average key length: 2.00, compression ratio: 0.91 Average prefix length: 1.82, average data length: 0.00 Clustering factor: 21, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 0 Index PK_PRIZE_1 (0) Root page: 70920, depth: 1, leaf buckets: 1, nodes: 1543 Average node length: 4.76, total dup: 0, max dup: 0 Average key length: 3.16, compression ratio: 1.11 Average prefix length: 2.43, average data length: 1.08 Clustering factor: 21, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 0 Index PRIZE_IDX_NAME (1) Root page: 70923, depth: 2, leaf buckets: 2, nodes: 1543 Average node length: 16.04, total dup: 94, max dup: 8 Average key length: 14.39, compression ratio: 1.20 Average prefix length: 5.80, average data length: 11.52 Clustering factor: 1116, ratio: 0.72 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 1 Index PRIZE_IDX_NAME_EN (2) Root page: 70926, depth: 2, leaf buckets: 2, nodes: 1543 Average node length: 16.17, total dup: 60, max dup: 7 Average key length: 14.55, compression ratio: 1.17 Average prefix length: 5.45, average data length: 11.64 Clustering factor: 1103, ratio: 0.71 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 1 TRIAL (185) Primary pointer page: 517, Index root page: 518 Total formats: 2, used formats: 1 Average record length: 58.16, total records: 107803 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: 391.00, compression ratio: 6.72 Pointer pages: 1, data page slots: 647 Data pages: 647, average fill: 77% Primary pages: 647, full pages: 646, swept pages: 0 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 646 80 - 99% = 1 Index FK_TRIAL_CURATOR (10) Root page: 80807, depth: 2, leaf buckets: 28, nodes: 107803 Average node length: 4.15, total dup: 107802, max dup: 107802 Average key length: 2.00, compression ratio: 4.00 Average prefix length: 8.00, average data length: 0.00 Clustering factor: 647, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_COMPLICATION (2) Root page: 80581, depth: 2, leaf buckets: 28, nodes: 107803 Average node length: 4.15, total dup: 107799, max dup: 105712 Average key length: 2.00, compression ratio: 3.94 Average prefix length: 7.88, average data length: 0.00 Clustering factor: 701, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_COURSE (3) Root page: 80610, depth: 2, leaf buckets: 28, nodes: 107803 Average node length: 4.15, total dup: 107579, max dup: 23728 Average key length: 2.00, compression ratio: 2.04 Average prefix length: 4.08, average data length: 0.00 Clustering factor: 8429, ratio: 0.08 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_CURRENCY (4) Root page: 80639, depth: 2, leaf buckets: 28, nodes: 107803 Average node length: 4.15, total dup: 107781, max dup: 81858 Average key length: 2.00, compression ratio: 3.39 Average prefix length: 6.78, average data length: 0.00 Clustering factor: 1061, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_DEPARTURE (5) Root page: 80668, depth: 2, leaf buckets: 28, nodes: 107803 Average node length: 4.14, total dup: 107796, max dup: 47735 Average key length: 2.00, compression ratio: 1.00 Average prefix length: 2.00, average data length: 0.00 Clustering factor: 848, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_DISTANCE (6) Root page: 80697, depth: 2, leaf buckets: 28, nodes: 107803 Average node length: 4.15, total dup: 107681, max dup: 54401 Average key length: 2.00, compression ratio: 1.59 Average prefix length: 3.18, average data length: 0.00 Clustering factor: 4648, ratio: 0.04 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index FK_TRIAL_REF_FARM (9) Root page: 80784, depth: 2, leaf buckets: 22, nodes: 107803 Average node length: 3.17, total dup: 107795, max dup: 105065 Average key length: 1.03, compression ratio: 0.20 Average prefix length: 0.20, average data length: 0.00 Clustering factor: 723, ratio: 0.01 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 21 Index FK_TRIAL_REF_PRIZE (7) Root page: 80726, depth: 2, leaf buckets: 28, nodes: 107803 Average node length: 4.16, total dup: 106282, max dup: 63575 Average key length: 2.02, compression ratio: 3.09 Average prefix length: 6.21, average data length: 0.02 Clustering factor: 11218, ratio: 0.10 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 1 80 - 99% = 27 Index FK_TRIAL_REF_TRIALTYPE (8) Root page: 80755, depth: 2, leaf buckets: 28, nodes: 107803 Average node length: 4.14, total dup: 107797, max dup: 72799 Average key length: 2.00, compression ratio: 0.66 Average prefix length: 1.32, average data length: 0.00 Clustering factor: 742, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 27 Index IDX_TRIAL_BYDATE (0) Root page: 69719, depth: 2, leaf buckets: 29, nodes: 107803 Average node length: 4.22, total dup: 97721, max dup: 35692 Average key length: 2.07, compression ratio: 2.25 Average prefix length: 4.35, average data length: 0.31 Clustering factor: 38954, ratio: 0.36 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 28 Index PK_TRIAL (1) Root page: 69749, depth: 2, leaf buckets: 35, nodes: 107803 Average node length: 5.19, total dup: 0, max dup: 0 Average key length: 3.04, compression ratio: 1.31 Average prefix length: 2.96, average data length: 1.02 Clustering factor: 970, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 34 TRIAL_LINE (186) Primary pointer page: 519, Index root page: 520 Total formats: 2, used formats: 1 Average record length: 74.70, total records: 251941 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: 280.00, compression ratio: 3.75 Pointer pages: 1, data page slots: 1823 Data pages: 1823, average fill: 78% Primary pages: 1775, full pages: 1774, swept pages: 0 Blobs: 295, total length: 5506, blob pages: 0 Level 0: 295, Level 1: 0, Level 2: 0 Fill distribution: 0 - 19% = 48 20 - 39% = 0 40 - 59% = 0 60 - 79% = 1024 80 - 99% = 751 Index FK_TRIAL_LINE_CLASSSHOW (10) Root page: 80506, depth: 2, leaf buckets: 74, nodes: 251941 Average node length: 4.71, total dup: 251932, max dup: 251905 Average key length: 2.00, compression ratio: 3.99 Average prefix length: 8.00, average data length: 0.00 Clustering factor: 1783, ratio: 0.01 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_HORSETITLE (9) Root page: 80431, depth: 2, leaf buckets: 74, nodes: 251941 Average node length: 4.71, total dup: 251940, max dup: 251940 Average key length: 2.00, compression ratio: 4.00 Average prefix length: 8.00, average data length: 0.00 Clustering factor: 1775, ratio: 0.01 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_COUCH (2) Root page: 79896, depth: 2, leaf buckets: 74, nodes: 251941 Average node length: 4.71, total dup: 250383, max dup: 90724 Average key length: 2.01, compression ratio: 2.61 Average prefix length: 5.23, average data length: 0.01 Clustering factor: 35172, ratio: 0.14 Fill distribution: 0 - 19% = 0 20 - 39% = 1 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_DISCIPLINE (3) Root page: 79971, depth: 2, leaf buckets: 74, nodes: 251941 Average node length: 4.70, total dup: 251938, max dup: 174117 Average key length: 2.00, compression ratio: 1.00 Average prefix length: 2.00, average data length: 0.00 Clustering factor: 2008, ratio: 0.01 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_HORSE (4) Root page: 80046, depth: 2, leaf buckets: 77, nodes: 251941 Average node length: 4.94, total dup: 194399, max dup: 354 Average key length: 2.24, compression ratio: 1.78 Average prefix length: 3.76, average data length: 0.23 Clustering factor: 181639, ratio: 0.72 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 77 Index FK_TRIAL_LINE_REF_MAN (5) Root page: 80124, depth: 2, leaf buckets: 74, nodes: 251941 Average node length: 4.73, total dup: 246209, max dup: 48100 Average key length: 2.03, compression ratio: 2.27 Average prefix length: 4.58, average data length: 0.02 Clustering factor: 57440, ratio: 0.23 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 1 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_RANK (6) Root page: 80199, depth: 2, leaf buckets: 74, nodes: 251941 Average node length: 4.71, total dup: 251937, max dup: 251934 Average key length: 2.00, compression ratio: 4.00 Average prefix length: 8.00, average data length: 0.00 Clustering factor: 1779, ratio: 0.01 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_TEAM (7) Root page: 80274, depth: 2, leaf buckets: 74, nodes: 251941 Average node length: 4.71, total dup: 251926, max dup: 251884 Average key length: 2.00, compression ratio: 3.99 Average prefix length: 8.00, average data length: 0.00 Clustering factor: 1783, ratio: 0.01 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 73 Index FK_TRIAL_LINE_REF_TRIAL (8) Root page: 80349, depth: 2, leaf buckets: 81, nodes: 251941 Average node length: 5.15, total dup: 144534, max dup: 62 Average key length: 2.45, compression ratio: 1.63 Average prefix length: 3.54, average data length: 0.44 Clustering factor: 16703, ratio: 0.07 Fill distribution: 0 - 19% = 1 20 - 39% = 0 40 - 59% = 0 60 - 79% = 0 80 - 99% = 80 Index PK_TRIAL_LINE (1) Root page: 69628, depth: 2, leaf buckets: 89, nodes: 251941 Average node length: 5.71, total dup: 0, max dup: 0 Average key length: 3.01, compression ratio: 1.33 Average prefix length: 2.99, average data length: 1.00 Clustering factor: 2844, ratio: 0.01 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 1 80 - 99% = 88 Index TRIAL_LINE_PLACE_IDX (0) Root page: 69554, depth: 2, leaf buckets: 73, nodes: 251941 Average node length: 4.68, total dup: 251903, max dup: 65156 Average key length: 1.97, compression ratio: 0.79 Average prefix length: 1.56, average data length: 0.00 Clustering factor: 14023, ratio: 0.06 Fill distribution: 0 - 19% = 0 20 - 39% = 0 40 - 59% = 0 60 - 79% = 1 80 - 99% = 72 Чем это можно объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 17:49 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
базу выслать можешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 19:19 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
dimitr, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 20:08 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
dimitr, отправил письмо в личку через gmail ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 20:25 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
скачал, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 20:31 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, на всякий случай - у тебя кэши разные. у 2.5 256, а у 3.0 8192. Обращай внимание, когда сравниваешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 20:36 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
kdv, да это я знаю. Просто вроде как на план это влиять не должно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 20:39 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисПросто вроде как на план это влиять не должно это понятно, но на другие штуки это влияет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 22:32 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
kdv, меня удивило, что SS, в котором кэш в 32 раза больше, делает больше фетчей. Причиной как я понимаю является неверный план. ДЕ уже разбирается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 22:39 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
Симонов Денисменя удивило, что SS, в котором кэш в 32 раза больше, делает больше фетчей.Размер кеша не влияет на кол-во фетчей. На кол-во read\write - да, но не на фетчи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 23:04 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
hvlad, ну что reads больше я и не удивлён. Так то да, на фетчи влиять не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 23:21 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
dimitr, удалось локализовать проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 14:28 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
мне удалось сделать воспроизводимый тест кейс скрипт наполнения Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. выполняем запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. план в 2.5 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. план в 3.0 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. похоже в 3.x идёт какая-то потеря точности при вычислении оценки, а в 2.x зашита эвристика, что раз мы дёргаем таблицу по уникальному индексу, то это дешевле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 20:48 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, у тебя опять кэши разные. а планы - одинаковые. если я правильно помню, в таком плане порядок индексов или таблиц не важен. вот если left/right join, тогда таблицы будут объединяться попарно, и там порядок уже важен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 21:13 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
эвристики в 2.5 и 3.0 одинаковы, стоимость этих планов сравнима (сильно упрощая, это выбор между X*Y И Y*X). Где-то что-то поменялось в расчете, вызвав данную флуктуацию, но я пока не уверен что это проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 21:41 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
kdv, Как раз планы разные. И от кеша это вроде как не зависит. Этот пример попытка воспроизведения того что описано в самом первом сообщении, а там разница уже существенная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 22:10 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисКак раз планы разные. где они разные? 2.5 PLAN JOIN (TRIAL INDEX (PK_TRIAL), PRIZE INDEX (PK_PRIZE), TRIAL_LINE INDEX (FK_TRIAL_LINE_TRIAL)) 3.0 PLAN JOIN (TRIAL INDEX (PK_TRIAL), TRIAL_LINE INDEX (FK_TRIAL_LINE_TRIAL), PRIZE INDEX (PK_PRIZE)) 2 последних индекса поменяны местами. Ты считаешь, это как-то влияет? Я считаю, что никак, мысль об этом уже привел выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 23:16 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
kdv, порядок соединения влияет на стоимость. Я могу продемонстрировать это на исходной БД. Итак исходный запрос Код: sql 1. 2. 3. 4. 5. 6. 7. возвращает 64686 записей Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. меняем порядок Код: sql 1. 2. 3. 4. 5. 6. 7. возвращает 64686 записей Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. По числу фетчей разница 168556. Да и по времени заметна. Второй запрос как раз похож на то что даёт в этом случае 2.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 23:32 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, в запросе с inner join нет "порядка". А в запросе с left join - есть, о чем я и говорил. Но я не настолько знаю потроха оптимизатора, чтобы утверждать, что планы PLAN JOIN (TRIAL INDEX (IDX_TRIAL_BYDATE), TRIAL_LINE INDEX (FK_TRIAL_LINE_TRIAL), PRIZE INDEX (PK_PRIZE)) и PLAN JOIN (JOIN (TRIAL INDEX (IDX_TRIAL_BYDATE), TRIAL_LINE INDEX (FK_TRIAL_LINE_TRIAL)), PRIZE INDEX (PK_PRIZE)) идентичны именно в порядке выполнения. По статистике - да, можно сделать вывод об одинаковости, но тут у меня нет 100% уверенности. dimitr? меня тут даже больше беспокоит вопрос, что если эти планы по выполнению join идентичны, то почему сервер для неявных и inner join выводит первый план, а не второй. Надеюсь, ответ будет не риторическим, типа, "так сделал Джим" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2015, 23:53 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
kdv, в расширенном плане это видно однозначно. По идее если бы я присоединял обе таблицы по уникальному индексу то разницы быть не должно. Так как оба соединения не увеличивают кардинальность. А вот когда присоединяется по неуникальному индексу то тут разница быть должна. Ну посмотрим что скажет dimitr ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 00:00 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
навскидку, первый план (который от 2.5) должен иметь чуть меньшую стоимость. Детально проверять у меня сейчас времени нет, пардон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 00:56 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
Денис, попробуй в своем тесте уникальную выборку по CODE_TRIAL заменить на выборку по диапазону. Разница во времени выполнения между планами должна стать более заметной. Если так оно и будет, то пример можно закинуть в трекер, чтобы не забылось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 01:01 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
dimitr, тут какая то фигня стала твориться Код: sql 1. 2. 3. 4. 5. 6. 7. трёшка Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 2.5 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. по фетчам в трёшки выигрыш, а вот по времени наоборот. Да и вообще план уже совсем другой вылетел. Попробую добавить в таблицу TRIAL третье индексированное поле чтобы было похоже на изначальный запрос в рабочей БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 09:31 |
|
||
|
Странности в оптимизаторе 3.x
|
|||
|---|---|---|---|
|
#18+
dimitr, вроде сделал CORE-4702 хотя какую-то прям громадную разницу получить не удалось, что в принципе и ожидалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 12:54 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38893026&tid=1562988]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 280ms |
| total: | 440ms |

| 0 / 0 |
