-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dmitri Kuzmenko пишет:
> фокус в том, что Алексей занимается риторикой вида
> "если бы да кабы, оптимизатор мог бы сначала
> выполнить часть запроса, а потом его дооптимизировать".
> Но этого нет, и насколько предвидится - не представляю.
Мечтать ведь никто не запрещает. :)

Оптимизатор мог бы на препаре строить не один план а множество с учётом
 возможного "вырождения" условий и во время выполнения проводить оценку
- - уже выродились или ещё нет. :)
Простейший пример оптимизация выражений выбора:
where (
  (0 = :seltype) or
  (1 = :seltype and sel = 1) or
  (2 = :seltype and sel != 1)
) and (...)
обсуждавшееся недавно - при подстановке конкретного значения :seltype
(например 1) берётся план для такого выражения:
where (
  1 = :seltype and sel = 1
) and (...)
То же самое для случая описываемого Алексеем, только там выбор должен
будет произойти после соответствующий фазы выполнения плана
- --
Александр Замараев
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkuZ4/0ACgkQyIBStFbMcZjrkwCfcgmny3T6H/BNvefndbrn0npW
kO0AnRqUas3+lT/SgdvniOYeXoFdH+/B
=MYD3
-----END PGP SIGNATURE-----

Ответить