Accelerarea căutării în tabelul de valori

Pentru o căutare mai rapidă în baze de date, a fost inventată proprietatea indexului. Când folosim tabele de valori, putem crea și indexuri pentru coloane arbitrare.
De exemplu, avem un tabel cu coloanele "Nomenclatură, Preț, Unitate de măsură". Și dacă deseori căutăm rânduri într-un tabel cu nomenclatură, atunci este mai bine să indexăm această coloană și apoi programul să nu treacă prin fiecare rând de fiecare dată, dar va folosi indexul.
Pentru a crea un index, se folosește metoda "Index", în parametrii căruia este trimis un șir în care sunt listate coloanele indexate.
Codul 1C v 8.x
pentru că coloanele indexate pot fi mai multe, atunci sunt posibile următoarele:
Codul 1C v 8.x
Atunci când indexul este creat, folosind metode din tabelul de valori "Find" sau "FindString" se va folosi indexul creat.

Și pentru a căuta tabelul de valori, există două metode speciale: prima descoperire
Codul 1C v 8.x
Această metodă returnează primul șir găsit cu valoarea pe care o căutați sau Nedefinită dacă nu o găsește. Prin urmare, este convenabil să-l folosiți pentru a căuta valori unice, deoarece altfel, dacă găsiți o valoare, ștergeți-o din tabel pentru a găsi următoarea.
Pentru a evita această problemă, există următoarea metodă care vă permite să găsiți o serie de șiruri de potrivire
Codul 1C v 8.x
Această metodă întoarce întotdeauna o matrice, dar poate fi goală dacă nu se găsește nimic. Și totuși această metodă, precum și cea precedentă, returnează rândurile tabelului de valori în sine și nu valorile în sine într-o matrice separată. Prin urmare, schimbând valorile în rândul matricei sau ca în metoda anterioară a liniei de găsit, veți schimba valoarea din tabelul valorilor prelucrate.

Ceea ce este încă bun despre această metodă este că poate căuta mai multe coloane ale tabelului de valori în același timp:
Codul 1C v 8.x
Singurul negativ, după cum puteți vedea, nu puteți folosi alte tipuri de comparații, cu excepția celor "egale"

Luați un răspuns la întrebare

Înscrieți-vă pentru știri și promoții

[email protected]
129343, călătorie Serebryakova, 14, p. 5, etajul 3, BC Silver Stone

Articole similare