-
Б) не будет работать
-
в догонку: в запросе - три таблицы (table1, table2,table3) Б - должен выглядеть так:
create view view(priznak, f1,f2,f3,f4 )
as
select 1 as priznak,f1,f2,f3,f4
from table
union
select 2 as priznak,f1,f2,f3,f4
from table
union
select 3 as priznak,f1,f2,f3,f4
from table
*********************
select *
from view
where f4=:param
теперь будет? и главное : как скорость?
-
>Евгений Р. (24.07.08 12:28) [19] не нужно union
-
теперь будет? и главное : как скорость?
Главное здесь бессмысленность самой вьюхи
-
одна и та же таблица умножается на три.
-
> и главное : как скорость? select 1 as priznak,f1,f2,f3
from table
where f4=:param
union
select 2 as priznak,f1,f2,f3
from table
where f4=:param
union
select 3 as priznak,f1,f2,f3
from table
where f4=:param -> select f4 as priznak,f1,f2,f3
from table
where f4 IN (:param1, :param3, :param3) в 3 раза быстрей ( - кое какая погрешность скорости зависящая от разных факторов, на небольших выборках можно пренебречь).
-
>> в запросе - три таблицы (table1, table2,table3)
Просто автор не утруждает себя проверкой того, что постит сюда...
-
> stas © (24.07.08 11:59) [17] > Медвежонок Пятачок © (24.07.08 12:00) [18]
только в том случае, если в 2.0 нет возможности раздачи прав на поля но у автора я не вижу такой проблемы
-
> [21] Евгений Р. (24.07.08 12:44)
Если позволяет логика работы, то UNION ALL ускорит выполнение.
|