|Subject||RE: [IB-Architect] Indexes, Multi-Generations, and Everything|
|Author||Claudio Valderrama C.|
> -----Original Message-----I'm not sure of I understand: a complete search is made on updates. On
> From: Jim Starkey [mailto:jas@...]
> Sent: Miércoles 28 de Junio de 2000 20:06
> When a record is inserted, the engine will make an index entry
> for each index defined on the table. When a record is modified,
> however, the engine will search the entire chain of back versions
> looking for a record with an duplicate value. If (and only if)
> it doesn't find a duplicate, it adds an index entry for the index.
insertion, an entry is made in the index. Is this what you mean? Why do I
get an error immediately when inserting a duplicated value on an unique
index without the need to attempt a commit to see the error? Is there any
implicancy on efficiency, for example, when refreshing information on a
table, that I should try to insert first and if it fails, then I attempt an
update and not in the reverse order?
> Index retrievals are generally done [...]What's this selection expression? Are you referring to the internal
> When a record number is found, the record version appropriate for
> the transaction is found. Before record can be accepted, however,
> the full record selection expression boolean is applied.
translation of WHERE clauses or not? Is there anything like
"short-boolean-circuits" when evaluating these expressions? You seem to
imply that the whole and full expression should be evaluated always.
> WithoutWhy? More on this, please, Jim. Is this due to the same nature of the
> the boolean test, there is absolutely no guarentee that the target
> record actually had the value represented in the index.
"indexes being considered noisy"?