When defining a view, you should include only the columns which will be used in queries in the SELECT list of the view.
Do not use the CONTAINS predicate in a view that has a user-defined function, because the CONTAINS criteria will be ignored. Use the LIKE predicate with wildcards instead, or issue the query outside of a view.
The following may degrade the performance of views in queries (when compared to similar queries that do not use views).
Nested views having any items appear on the select-list of both the inner and outer views that are not used by the query referencing the outer view
Cases where there are joins both inside and outside the view, and the view does not contain an explicit or implicit GROUP BY clause
Cases where a user breaks up a query by placing part of it into a view and now multiple predicates reference the same column inside and outside the view.
In cases where a predicate outside the view contains a reference to a view select-list item plus either an outer reference or an uncorrelated subquery.
When a view specification contains an outer join, a predicate in a query that references the view cannot be “pushed down” into the indexes (since it would change the semantics at the outer join). So, you many notice that such queries run slower than a similar query that does not use a view.
Predicates are described in the Sybase IQ Reference Manual.