PDA

View Full Version : [ABL] Spiegazione in inglese tecnico, che non capisco!


Matrixbob
01-08-2008, 10:02
Cosa cavolo intenderanno mai con "equality matches"?! :confused:

use a unique index if all of its component are involved in an equality match.

Il traduttore online me lo traduce con "fiammiferi di uguaglianza" io pensavo ad "occorrenze" invece ...

Secondo voi?!

Matrixbob
01-08-2008, 10:24
L'algoritmo completo, usato dal compilatore per scegliere l'indice (SINGOLO) d'accesso ai dati, è il seguente:

1]
If there is a CONTAINS clause (which is legal only for word indexes fields), use the word index;

2]
use a unique index if all of its components are involved in an equality match;

3]
use the index with the most active equality matches joined by ANDs (not ORs or NOTs);

4]
use the index with the most active range matches;

5]
use the index with most sort matches;

6]
use the first index alphabetically by index name. That is, if there is a tie between the same number of active equality, range, and/or sort matches, then the first one alphabetically will be used;

7]
use the primary index.


Tanto per darvi il contesto della situazione.

71104
01-08-2008, 10:26
corrispondenze di uguaglianza. c'è anche un errore: hanno usato l'articolo indeterminativo ("an") col plurale.

Matrixbob
01-08-2008, 10:50
corrispondenze di uguaglianza. c'è anche un errore: hanno usato l'articolo indeterminativo ("an") col plurale.
Si grazie, l'errore l'ho rimosso.

Nei miei appunti, durante la spiegazione, le scrissi così:

1. lo statement fa una FIND FIRST e osserva sia un WORD INDEX, se lo è, lo usa;
2. usa un indice univoco, se tutti i campi di una chiave sono in un match di una chiave;
3. Osserva il maggior numero di campi esplicitaticon AND e OR, quelli con più occorrenze;
4. Maggior numero di occorrenze;
5. Quello con più sort;
6. Ordine alfabetico con cui i campi sono messi all'interno degli indici;
7. Chiave primaria, usata per ultima perché se usavo questo, usavo uno ed un solo indice, andava bene con un FIND che usa un solo indice, ma non per una FOR.


Noto che hanno pochi punti d'incontro e molte incongruenze :stordita: :D

Matrixbob
01-08-2008, 11:58
"corrispondenze di uguaglianza": OK, ma cosa significa scusa?
Mi fai un esempio pratico di WHERE (va bene quella SQL) del tipo descritto?
TNX!

^TiGeRShArK^
01-08-2008, 12:30
un equality match la ottieni ad esempio così se ho capito quello che intendi:
SELECT * FROM USERS WHERE NAME='Pippo'

In pratica ti restituisce tutti i record che soddisfano la relazione di uguaglianza tra il campo NAME e la stringa 'Pippo'

Matrixbob
01-08-2008, 12:52
Le ho tradotte brutalmente, ma non penso sia ancora questo il senso degli step:

1]
se c’è la clausola CONTIENE (che è legale solo per i campi d’indici di parola), usi l'indice di parola;

2]
usi un indice unico se tutte le relative componenti sono coinvolte in una corrispondenza di uguaglianza;

3]
usi l'indice con le corrispondenze di uguaglianza più attivo unito da ANDs (non ORs, non NOTs);

4]
usi l'indice con la gamma di corrispondenze più attive;

5]
usi l'indice con la maggior parte delle corrispondenze di specie;

6]
usi l’indice che in ordine alfabetico ha il nome che viene prima.
Cioè, se c’è un legame fra lo stesso numero dell'uguaglianza attiva, gamma e/o fiammiferi di specie, quindi quello primo sarà usato in ordine alfabetico;

7]
Per ultima cosa usi l'indice primario.

Matrixbob
01-08-2008, 14:03
un equality match la ottieni ad esempio così se ho capito quello che intendi:
SELECT * FROM USERS WHERE NAME='Pippo'

In pratica ti restituisce tutti i record che soddisfano la relazione di uguaglianza tra il campo NAME e la stringa 'Pippo'

Non sono io che intendo, è loro che intendono qualcosa ed IMHO la potevano descrivere in modo + semplice. I

Invece con "sort matches" intendono proprio il sort come riordinamento?

[EDIT]

Matrixbob
01-08-2008, 14:38
A parte quanto detto, anche il punto 6 mi pare un mistero.


6]
use the first index alphabetically by index name. That is, if there is a tie between the same number of active equality, range, and/or sort matches, then the first one alphabetically will be used;