Kas ir ppd indekss. Par interesantām lietām no IT pasaules, instrukcijām un apskatiem

Jautājums: 1C indeksa atjaunošana


Labdien, man ir SCP datubāze SQL 2014, ir ikdienas uzdevumi:
1)
2)
Sākumā viss strādāja perfekti, nekas nesamazināja ātrumu, pagāja pusotrs mēnesis un bremzes sākās. Pārinstalēju 1C, SQL, 1C serveri cerībā, ka esmu kaut ko nepareizi konfigurējis, bet problēma palika. Paskatījos atskaiti

Es redzu sadrumstalotību, tas nepazūd ar dažiem indeksa pārbūvi un reorganizāciju. Vai ir kādi veidi, kā atjaunot normālu darbību un atbrīvoties no sadrumstalotības?
(Varbūt tā ir tikai muļķība, kas neietekmē bremzes?)

Atbilde: ()

Jautājums: SQL un indeksa sadrumstalotība


Apkopojot statistiku, redzams, ka vairāk nekā simts indeksiem nepieciešama pārbūve, to sadrumstalotība ir virs 50%, bet pēc indeksu pārbūves sadrumstalotība paliek nemainīga, ko darīt?

Atbilde: Labi, paldies, ņemšu to vērā

Jautājums: Indeksa dzēšanas sekas


Labs laiks dienas. Ir 1C datu bāze SQL formātā, kurā jums ir jāizveido TII, kas netiek darīts, radot šādas kļūdas:

Es nevaru noteikt, ar kādiem datiem 1C ir saistītas iepriekš minētās tabulas. Kas varētu būt slikts, ja es dzēstu iepriekš minētos indeksus, izmantojot nolaižamo indeksu?

Es neesmu tēmas autors.
Visas komandas 1c nosūta uz sql serveri, tiek izveidoti un dzēsti indeksi.
ārzemju - ja mēs neveidojam indeksus caur konfiguratoru, bet gan paši uz sql servera.
indekss, kas izveidots, izmantojot standarta 1c procedūru, neatšķirsies no sql servera izveidotā indeksa

Jautājums: Kā pareizi konfigurēt normatīvos aktus “PPD indeksa atjaunināšana” un “PPD indeksa apvienošana” (lasīt 19


Kā pareizi konfigurēt regulējošos “PPD indeksa atjaunināšana” un “PPD indeksa apvienošana”?
Datu bāzes izmērs 160 GB. Tagad esam izveidoti. Gan katru stundu. Vai ir pareizi iestatīt "Atjaunināt PPD indeksu" reizi stundā un "Apvienot PPD indeksu" vienu reizi naktī?
Vai būs laiks to apvienot naktī?

Atbilde:

Jautājums ir noņemts. Noteikumos indekss tika atjaunināts pa daļām. 10 000 ierakstu katrā. Tas savu darbu paveica 10 000 reižu atjaunināts. Bet tas izrādījās vairāk nekā 10 000, tāpēc izrādījās, ka indekss tomēr nav būtisks.

Jautājums: Jautājumi par indeksiem 1s


Kādos gadījumos tos labāk izmantot? Cik daudz pamatne var uzbriest, bieži lietojot? kāda ir atšķirība: indeksi un indeksi ar papildu. pasūtīšana.
Varat arī izveidot saiti uz parastiem piemēriem.
Paldies.

Atbilde:() Indeksi var būt lielāka izmēra dati :)
() Man šķiet, ka indeksu lielums nav to galvenais trūkums, šeit svarīgāk ir tas, ka ar “papildu” indeksiem rakstot ir “papildus”. IMHO.
Bet ar lielām (simtiem tūkstošu GB) datu bāzēm, protams, jāskatās izmērs :)

Vispārējais princips ir tāds, ka, ja šim laukam ir atlases, mēs tās indeksēsim, ja atlases nav, mēs tās neindeksēsim. Ja ir nepieciešama atlase pēc lauka, bet rindu skaits ir mazs, indekss nav nepieciešams. Ja ir nepieciešama atlase pēc lauka, bet tai atbilst gandrīz visa tabula, indekss nav nepieciešams. IMHO.

Jautājums: Vērtību tabulas indeksi


Laba pēcpusdiena.
Ir veidlapa ar vērtību tabulu. Noklikšķiniet uz pogas, lai šajā tabulā importētu datus no Excel.
Piemēram, kad pirmo reizi atvērāt veidlapu un noklikšķinājāt uz pogas, tika ielādētas 10 rindas. Katrai rindai automātiski tika piešķirti indeksi no 0 līdz 9. Ielādējot vēlreiz (neaizverot formu), es notīru tabulu un pievienoju tai, piemēram, vēl 5 rindas. Indeksi turpina numerāciju un būs vienādi ar 10-14. Kā es varu atiestatīt indeksa skaitītāju un sākt to no jauna?
Paldies

Atbilde:

Tev bija taisnība. Tas nav tas, ko es meklēju. Es biju pārliecināts, ka indeksi un identifikatori ir viens un tas pats. Jautājums ir slēgts. Liels paldies par jūsu palīdzību

Jautājums: Piekļuve PM elementam pēc indeksa


Mums tika dots apmācības uzdevums kārtot dokumenta PM, neizmantojot iebūvēto funkciju, bet manuāli, izmantojot kādu algoritmu.
Es domāju, vai ir iespējams piekļūt PM elementam pēc indeksa?

Atbilde: Tabulas daļai ir tāda pati nozīme.
Kopēt-ielīmēt no SP:

Tabulas sadaļa
Kolekcijas priekšmeti:

Tabulas rinda
Objektam ir iespējams šķērsot kolekciju, izmantojot operatoru Katram... No... Cikls. Caurskatā tiek atlasīti kolekcijas elementi.
Ir iespējams piekļūt kolekcijas elementam, izmantojot [...] operatoru. Rindas indekss (numurēts no 0) tiek nodots kā arguments.

Jautājums: pēc platformas atjaunināšanas tika atspējots reg uzdevums meklēšanas indeksa atjaunināšanai


instalēja 12.1616 uz dažiem serveriem viss ir kārtībā, bet serveris ar konsolidāciju sāka drausmīgi klīst, hosts izkrīt pēc 2...3 minūtēm...

Uzzināju, ka pie visa vainojams reg uzdevums “atjaunināt pilna teksta meklēšanas indeksu”, kamēr es to atslēdzu...

Tajā pašā laikā standarta žurnālos problēma, šķiet, neparādās

jautājumiem
1. kam vēl ir šī problēma?
2. kā meklēt detalizētu iemeslu (jūs nevēlaties iespējot uzdevuma reģistru ražošanas produktam, bet nevarat iespējot testa produktam)
3. ko darīt

Atbilde: Neesmu īsts metinātājs, bet testa bāzē es izslēgtu visus uzdevumu reģistrus, izņemot "pilna teksta meklēšanas indeksa atjaunināšanu" un uzraudzītu to caur tehnisko žurnālu.

Jautājums: SQL speciālistiem: kā vispārīga informācija ietekmē indeksu statistiku?


Jautājums: cik darbietilpīgi būs vispārēju datu koplietošanas detaļu izslēgšana no konfigurācijas? Vai vispār ir vērts to darīt?
BSP izskatījās, kopumā izskatās, ka vietu tur nav īpaši daudz, bet nebija laika padziļinātai izpētei.
Un tagad par iemesliem, kāpēc tas mani interesē.
BP 3.0 datu bāze, izmērs aptuveni 1 TB, no kuriem 200 GB ir uzskaites reģistru tabulas, ieraksti no 50 līdz 250 miljoniem Servera tabulās laukam Data AreaMainData ir skaitlis(7.0), tāpēc nesaglabāšu. vieta globāli (apmēram 9 GB tagad ietilpst šajā laukā).
Galvenais mērķis ir nedaudz paātrināt darbu ar datu bāzi, jo:
*tabulu un indeksu izmēra samazināšana; * ātrāka izguve, samazinot datu rindas (un indeksu) lielumu un precīzākus vaicājumu plānus; *paātrināt komandu 'atjaunināt statistiku';
*samazināt sleju statistikas uzturēšanas izmaksas (var būt, ka atsevišķiem laukiem tā vispār nav jāuztur, jo šis lauks indeksā būs vistālāk pa kreisi).

Neliels vienas rindas darbības paātrinājums miljoniem rindu ļauj ievērojami ietaupīt laiku. Un gada izteiksmē - pat vairāk, tāpēc man šķiet, ka mērķis ir pamatots.
Un nedaudz teorijas, uz kuras es balstos.
Labi zināms fakts, ka MSSQL veido statistiku tikai indeksa galējai kreisajai kolonnai un saglabā tur 200 vērtību sadales intervālus.

Standarta grāmatvedības 3.0 indeksos kreisā kolonna ir “Data AreaMainData”, ierakstiet Number. Ja atdalīšana netiek izmantota, tad šajā laukā visur ir nulles. Zemāk ir šāda indeksa (grāmatvedības reģistra) piemērs. 49 miljoni ierakstu, visi apkopoti vienā histogrammas rindā.

Serveris izveido kolonnu statistiku visiem laukiem, kas piedalās pieprasījumos


Piemēram, saskaņā ar reģistratūru

– Notiek bankas klasifikatora ielāde Šis rutīnas uzdevums

lejupielādē Krievijas banku klasifikatoru no RBC vietnes. Regulārais darbs nodrošina šī klasifikatora atjaunināšanu. Un, pievienojot vēl vienu norēķinu kontu, ir lielāka iespēja, ka banku, kurā tas ir atvērts, mēs atradīsim BIC klasifikatorā.

Šis rutīnas uzdevums ielādē valūtas maiņas kursus pašreizējā datumā. Ja programma veic valūtas darījumus, ir jēga atstāt šo uzdevumu iespējotu, lai katru reizi nebūtu jāsāk manuāli ielādēt valūtas kursus.

- Datu aizpildīšana, lai ierobežotu piekļuvi

Kad ir iespējots ieraksta līmeņa piekļuves ierobežošanas režīms, aizpilda kopas
piekļuves vērtības. Pildīšanu veic pa daļām katrā startā, līdz viss ir
piekļuves vērtību kopas netiks aizpildītas.

Atspējojot ieraksta līmeņa piekļuves ierobežojuma režīmu, piekļuves vērtību kopas (iepriekš aizpildītas) tiek dzēstas, kad objekti tiek pārrakstīti, nevis visi uzreiz.
Neatkarīgi no piekļuves ierobežojuma režīma ieraksta līmenī, tas atjaunina kešatmiņas informāciju. Pēc visu atjaunināšanas un aizpildīšanas pabeigšanas atspējo ieplānotā uzdevuma izmantošanu.

Uzdevums ir oficiāls. Nav nepieciešams to iespējot manuāli.

- Teksta izvilkšana

Izmanto, lai ātri meklētu datus pievienotajos failos, kas pievienoti datu bāzei. Ja izmantojat meklēšanu pievienotajos failos, tas ir loģiski.

- Ziņojumapmaiņa visos darbplūsmas kontos

Regulējošais uzdevums automātiskai apmaiņai ar regulatīvajām iestādēm. Izmanto, iesniedzot regulētos pārskatus tieši no 1C.

– vienību atjaunināšana

Ieplānoto uzdevumu atjauninājumu apkopojumi. Kas tas par dzīvnieku?

Izmantojot agregātus, var ievērojami paātrināt atskaišu ģenerēšanu par uzkrāšanas reģistriem gadījumos, kad ierakstu skaits reģistrā ir simtiem tūkstošu, miljonu vai vairāk.

Galvenā frāze šeit ir “ierakstu skaits reģistrā ir simtiem tūkstošu, miljonu vai vairāk”, tas ir, maziem reģistriem, ieskaitot apkopojumus, nav jēgas.

Apkopojumi ļauj izveidot iepriekš aprēķinātus datus pārskatu ģenerēšanai, kas ir līdzīgi uzkrāšanas reģistru summām. Pēdējos platforma aprēķina automātiski (ar nosacījumu, ka reģistram ir iespējota kopējo summu izmantošana) atšķirībā no apkopojumiem. Bet kāpēc ir vajadzīgi apkopojumi, ja rezultāti veic līdzīgu uzdevumu?

Pirmkārt, kopsummas tiek aprēķinātas pa mēnešiem, un to nevar mainīt, savukārt kopsummas var aprēķināt pēc dienas, mēneša, ceturkšņa, pusgada un gada.

Otrkārt, agregātu sadaļas var būt patvaļīgas (jebkurš uzkrāšanas reģistra mērījumu sastāvs), atšķirībā no summām, kuras aprēķina, izmantojot pilnam personālam reģistrēties.

– Uzraudzītāja monitora datu atjaunināšana

Ikdienas uzdevums liek aktualizēt datus informācijas reģistrā “Executive Monitor Data” visām organizācijām. Ja tiešām tiek izmantots vadītāja monitors, uzdevumam ir jēga.

- Atjauniniet grāmatveža uzdevumus

Ikdienas uzdevums aktualizē un aizpilda grāmatveža uzdevumus (dažādu deklarāciju, atskaišu iesniegšanas datumi utt.).

– PPD indeksa atjaunināšana

Atjaunina pilna teksta meklēšanas indeksu. Ja izmantojat pilna teksta meklēšanu, uzdevums ir saprātīgs. Tas tiek ieslēgts automātiski, ja datu bāzes iestatījumos ir iespējota pilna teksta meklēšana.

– Informācijas atjaunināšana par ziņošanas norādījumiem

Mēs runājam par virzieniem: uz Sociālās apdrošināšanas fondu, uz Federālo nodokļu dienestu, uz Pensiju fondu. Īsāk sakot, kaut kas atkal ir saistīts ar elektronisko pārskatu iesniegšanu no 1C.

– Abonentu pieteikumu apstrāde savienojuma izveidei elektroniskais paraksts pakalpojumu modelī

Kaut kāds pakalpojuma uzdevums, kas apstrādā jūsu pieteikumu elektroniskā paraksta pievienošanai, ja pakalpojuma modelī izmantojat 1C. Kopumā noteikti nevajadzētu to iespējot pašam.

- Aizkavēts informācijas drošības atjauninājums

Darbs pārvalda atlikto atjauninājumu apstrādātāju izpildi. Neiespējojiet to pats.

- Abonentu ziņojumu sūtīšana

Pakalpojuma abonentu regulēto atskaišu nosūtīšana regulējošām iestādēm, izmantojot SOS “Kaluga-Astral” atskaites pakalpojumu. Neiespējojiet to pats.

– Tīrīšana novecojušas versijas objektus

Tikai oficiālai lietošanai.

– vienību pārbūve

Aprites akumulācijas reģistru pārbūve. Neiespējojiet to pats.

- Izmaiņu aizlieguma relatīvo datumu pašreizējo vērtību pārrēķins

Pārrēķina un atjaunina pašreizējās relatīvās vērtības
aizlieguma datumi no pašreizējās sesijas datuma. Neiespējojiet to pats.

– Teksta izvilkšanas plānošana servisa modelī

Definē to datu apgabalu sarakstu, kuros ir nepieciešama teksta izvilkšana, un ieplāno tā izpildi, izmantojot darbu rindu. Oficiālā.

– Atskaišu nosūtīšanas rezultātu saņemšana

Pakalpojuma abonentu atskaišu nosūtīšanas uzraudzības iestādēm rezultātu saņemšana no SOS “Kaluga-Astral” atskaites dienesta. Oficiālā.

– darījumu partneru pārbaude

Pakalpojuma modelim tas atjaunina darījuma partneru statusu (vai ar viņu informāciju viss ir kārtībā). Vietējam režīmam tiek atjaunināti stāvokļi un reģistrē trūkstošo nodokļu identifikācijas numuru un kontrolpunktu.

– PPD indeksa apvienošana

Veic pilna teksta meklēšanas indeksu sapludināšanu. Uzdevuma darbs atkal ir saistīts ar pilna teksta meklēšanu (kur ir meklēšana bez indeksa).

– Dzēst neatbilstoša informācija sinhronizācija

Veic sinhronizācijas informācijas dzēšanu, kas netika dzēsta programmas kļūmju dēļ. Faili, kuru publicēšanas datums ir ilgāks par 24 stundām, var tikt dzēsti.

– Atzīmēto programmas objektu dzēšana

No ieplānotā uzdevuma noņem atzīmētos objektus.

– Aprēķināto kopsummu perioda iestatīšana

Pakalpojuma uzdevums, kas nosaka aprēķināto rezultātu periodu. Rezultāti tika rakstīti iepriekš.

Diemžēl programmā 1C: Grāmatvedība nav normālas dokumentācijas ikdienas uzdevumiem. Tāpēc es sniedzu informāciju, no kuras man izdevās savākt atvērtos avotos vai konfigurācijas pirmkods.

Šis ikdienas uzdevums no RBC vietnes lejupielādē Krievijas banku klasifikatoru. Regulārais darbs nodrošina šī klasifikatora atjaunināšanu. Un, pievienojot vēl vienu norēķinu kontu, ir lielāka iespēja, ka banku, kurā tas ir atvērts, mēs atradīsim BIC klasifikatorā.

lejupielādē Krievijas banku klasifikatoru no RBC vietnes. Regulārais darbs nodrošina šī klasifikatora atjaunināšanu. Un, pievienojot vēl vienu norēķinu kontu, ir lielāka iespēja, ka banku, kurā tas ir atvērts, mēs atradīsim BIC klasifikatorā.

Šis rutīnas uzdevums ielādē valūtas maiņas kursus pašreizējā datumā. Ja programma veic valūtas darījumus, ir jēga atstāt šo uzdevumu iespējotu, lai katru reizi nebūtu jāsāk manuāli ielādēt valūtas kursus.

- Datu aizpildīšana, lai ierobežotu piekļuvi

Kad ir iespējots ieraksta līmeņa piekļuves ierobežošanas režīms, aizpilda kopas
piekļuves vērtības. Pildīšanu veic pa daļām katrā startā, līdz viss ir
piekļuves vērtību kopas netiks aizpildītas.

Atspējojot ieraksta līmeņa piekļuves ierobežojuma režīmu, piekļuves vērtību kopas (iepriekš aizpildītas) tiek dzēstas, kad objekti tiek pārrakstīti, nevis visi uzreiz.
Neatkarīgi no piekļuves ierobežojuma režīma ieraksta līmenī, tas atjaunina kešatmiņas informāciju. Pēc visu atjaunināšanas un aizpildīšanas pabeigšanas atspējo ieplānotā uzdevuma izmantošanu.

Uzdevums ir oficiāls. Nav nepieciešams to iespējot manuāli.

- Teksta izvilkšana

Izmanto, lai ātri meklētu datus pievienotajos failos, kas pievienoti datu bāzei. Ja izmantojat meklēšanu pievienotajos failos, tas ir loģiski.

- Ziņojumapmaiņa visos darbplūsmas kontos

Regulējošais uzdevums automātiskai apmaiņai ar regulatīvajām iestādēm. Izmanto, iesniedzot regulētos pārskatus tieši no 1C.

– vienību atjaunināšana

Ieplānoto uzdevumu atjauninājumu apkopojumi. Kas tas par dzīvnieku?

Izmantojot agregātus, var ievērojami paātrināt atskaišu ģenerēšanu par uzkrāšanas reģistriem gadījumos, kad ierakstu skaits reģistrā ir simtiem tūkstošu, miljonu vai vairāk.

Galvenā frāze šeit ir “ierakstu skaits reģistrā ir simtiem tūkstošu, miljonu vai vairāk”, tas ir, maziem reģistriem, ieskaitot apkopojumus, nav jēgas.

Apkopojumi ļauj izveidot iepriekš aprēķinātus datus pārskatu ģenerēšanai, kas ir līdzīgi uzkrāšanas reģistru summām. Pēdējos platforma aprēķina automātiski (ar nosacījumu, ka reģistram ir iespējota kopējo summu izmantošana) atšķirībā no apkopojumiem. Bet kāpēc ir vajadzīgi apkopojumi, ja rezultāti veic līdzīgu uzdevumu?

Pirmkārt, kopsummas tiek aprēķinātas pa mēnešiem, un to nevar mainīt, savukārt kopsummas var aprēķināt pēc dienas, mēneša, ceturkšņa, pusgada un gada.

Otrkārt, agregātu sadaļas var būt patvaļīgas (jebkurš akumulācijas reģistra mērījumu sastāvs), atšķirībā no summām, kuras aprēķina, pamatojoties uz pilnu reģistra sastāvu.

– Uzraudzītāja monitora datu atjaunināšana

Ikdienas uzdevums liek aktualizēt datus informācijas reģistrā “Executive Monitor Data” visām organizācijām. Ja tiešām tiek izmantots vadītāja monitors, uzdevumam ir jēga.

- Atjauniniet grāmatveža uzdevumus

Ikdienas uzdevums aktualizē un aizpilda grāmatveža uzdevumus (dažādu deklarāciju, atskaišu iesniegšanas datumi utt.).

– PPD indeksa atjaunināšana

Atjaunina pilna teksta meklēšanas indeksu. Ja izmantojat pilna teksta meklēšanu, uzdevums ir saprātīgs. Tas tiek ieslēgts automātiski, ja datu bāzes iestatījumos ir iespējota pilna teksta meklēšana.

– Informācijas atjaunināšana par ziņošanas norādījumiem

Mēs runājam par virzieniem: uz Sociālās apdrošināšanas fondu, uz Federālo nodokļu dienestu, uz Pensiju fondu. Īsāk sakot, kaut kas atkal ir saistīts ar elektronisko pārskatu iesniegšanu no 1C.

– Abonentu pieteikumu apstrāde elektroniskā paraksta pievienošanai pakalpojuma modelī

Kaut kāds pakalpojuma uzdevums, kas apstrādā jūsu pieteikumu elektroniskā paraksta pievienošanai, ja pakalpojuma modelī izmantojat 1C. Kopumā noteikti nevajadzētu to iespējot pašam.

- Aizkavēts informācijas drošības atjauninājums

Darbs pārvalda atlikto atjauninājumu apstrādātāju izpildi. Neiespējojiet to pats.

- Abonentu ziņojumu sūtīšana

Pakalpojuma abonentu regulēto atskaišu nosūtīšana regulējošām iestādēm, izmantojot SOS “Kaluga-Astral” atskaites pakalpojumu. Neiespējojiet to pats.

– Novecojušo objektu versiju tīrīšana

Tikai oficiālai lietošanai.

– vienību pārbūve

Aprites akumulācijas reģistru pārbūve. Neiespējojiet to pats.

- Izmaiņu aizlieguma relatīvo datumu pašreizējo vērtību pārrēķins

Pārrēķina un atjaunina pašreizējās relatīvās vērtības
aizlieguma datumi no pašreizējās sesijas datuma. Neiespējojiet to pats.

– Teksta izvilkšanas plānošana servisa modelī

Definē to datu apgabalu sarakstu, kuros ir nepieciešama teksta izvilkšana, un ieplāno tā izpildi, izmantojot darbu rindu. Oficiālā.

– Atskaišu nosūtīšanas rezultātu saņemšana

Pakalpojuma abonentu atskaišu nosūtīšanas uzraudzības iestādēm rezultātu saņemšana no SOS “Kaluga-Astral” atskaites dienesta. Oficiālā.

– darījumu partneru pārbaude

Pakalpojuma modelim tas atjaunina darījuma partneru statusu (vai ar viņu informāciju viss ir kārtībā). Vietējam režīmam tiek atjaunināti stāvokļi un reģistrē trūkstošo nodokļu identifikācijas numuru un kontrolpunktu.

– PPD indeksa apvienošana

Veic pilna teksta meklēšanas indeksu sapludināšanu. Uzdevuma darbs atkal ir saistīts ar pilna teksta meklēšanu (kur ir meklēšana bez indeksa).

– Neatbilstošas ​​sinhronizācijas informācijas noņemšana

Veic sinhronizācijas informācijas dzēšanu, kas netika dzēsta programmas kļūmju dēļ. Faili, kuru publicēšanas datums ir ilgāks par 24 stundām, var tikt dzēsti.

– Atzīmēto programmas objektu dzēšana

No ieplānotā uzdevuma noņem atzīmētos objektus.

– Aprēķināto kopsummu perioda iestatīšana

Pakalpojuma uzdevums, kas nosaka aprēķināto rezultātu periodu. Rezultāti tika rakstīti iepriekš.

vai

Kāpēc 1C izstrādātājam ir jāreģistrē izmēri un informācija?

- Nu, jums ir lūgumi! - datubāze teica un karājās...

Īsā atbilde uz virsraksta jautājumu ir tāda, ka tas ļaus vaicājumiem ātri palaist un samazināt negatīva ietekme slēdzenes ieslēgtas.

Kas ir indekss?

Indeksa izvietojuma optimizēšana

Kad galdu izmērs neļauj tiem “iekļauties”. RAM serveri, ātrums ir pirmajā vietā diska apakšsistēma(I/O). Un šeit jūs varat pievērst uzmanību iespējai ievietot indeksus atsevišķos failos, kas atrodas dažādos cietajos diskos.

Detalizēts apraksts darbības http://technet.microsoft.com/ru-ru/bibliotēka/ms175905.aspx
Izmantojot indeksu no citas failu grupas, tiek uzlabota nesagrupētu indeksu veiktspēja, jo notiek sakritība starp I/O procesiem un darbu pie paša indeksa.
Iepriekš minēto apstrādi var izmantot, lai noteiktu izmērus.

Indeksu ietekme uz slēdzenēm

Ja vaicājumam nav vajadzīgā indeksa, tas nozīmē visu tabulas ierakstu atkārtošanu, kas savukārt noved pie pārmērīgas slēdzenes, t.i. nevajadzīgie ieraksti tiek bloķēti. Turklāt, jo ilgāks laiks nepieciešams vaicājuma pabeigšanai trūkstošo indeksu dēļ, jo ilgāks būs bloķēšanas aizturēšanas laiks.
Vēl viens bloķēšanas iemesls ir neliels ierakstu skaits tabulās. Šajā sakarā SQL Server, izvēloties vaicājuma izpildes plānu, neizmanto indeksus, bet pārmeklē visu tabulu (Table Scan), bloķējot visu tabulu. Lai izvairītos no šādas bloķēšanas, ir nepieciešams palielināt ierakstu skaitu tabulās līdz 1500-2000. Šajā gadījumā tabulas skenēšana kļūst dārgāka un SQL Server sāk izmantot indeksus. Protams, to ne vienmēr var izdarīt, izmantojot vairākus katalogus, piemēram, “Organizācijas”, “Noliktavas”, “Nodaļas” utt. parasti ir maz ierakstu. Šādos gadījumos indeksēšana neuzlabos veiktspēju.

Indeksa veiktspēja

Mēs jau raksta nosaukumā atzīmējām, ka mūs interesē indeksu ietekme uz vaicājuma veiktspēju. Tātad indeksi ir vispiemērotākie šāda veida uzdevumiem:

  • Vaicājumi, kas norāda “šaurus” meklēšanas kritērijus.Šādiem vaicājumiem ir jālasa tikai neliels skaits rindu, kas atbilst noteiktiem kritērijiem.
  • Vaicājumi, kas norāda vērtību diapazonu.Šie vaicājumi arī jāizlasa neliels daudzums līnijas.
  • Meklēšana, ko izmanto saistīšanas darbībās. Kolonnas, kuras bieži izmanto kā saistīšanas atslēgas, ir lieliski piemērotas indeksiem.
  • Meklēšana, kurā dati tiek nolasīti noteiktā secībā. Ja rezultātu kopa ir jākārto klasterizētā indeksa secībā, tad kārtošana nav nepieciešama, jo rezultātu kopa jau ir iepriekš sakārtota. Piemēram, ja tiek izveidots klasterizēts indekss kolonnās uzvārds, vārds un lietojumprogramma prasa kārtošanu pēc uzvārda un pēc tam pēc vārda, tad nav jāpievieno klauzula ORDER BY.

Tiesa, ar visu indeksu lietderību ir viens ļoti svarīgs BET - indeksam ir jābūt “efektīvi izmantotam” un jāļauj atrast datus, izmantojot mazāk I/O operāciju un sistēmas resursu apjomu. Un otrādi, neizmantotie (reti izmantotie) indeksi, visticamāk, pasliktinās datu rakstīšanas veiktspēju (jo katrai darbībai, kas maina datus, ir jāatjaunina arī rādītāja lapas) un tiek radīta liekā datubāzes vieta.

Pārklājums(Par no šī pieprasījuma), tiek saukts par indeksu, kurā ir visi šim pieprasījumam nepieciešamie lauki. Piemēram, ja indekss ir izveidots kolonnās a, b un c, un priekšraksts SELECT vaicā datus tikai no šīm kolonnām, tad ir nepieciešama tikai piekļuve indeksam.

Lai noteiktu indeksa efektivitāti, mēs varam aptuveni novērtēt, izmantojot bezmaksas tiešsaistes pakalpojumu, kas parāda “vaicājuma izpildes plānu” un izmantotos indeksus.

Pilna teksta meklēšana- ļaus jums atrast teksta informāciju, kas atrodas gandrīz jebkurā izmantotajā konfigurācijā. Šajā gadījumā jūs varat meklēt nepieciešamos datus vai nu visā konfigurācijā kopumā, vai arī sašaurinot meklēšanas apgabalu līdz vairākiem objektiem (piemēram, noteiktiem dokumentu vai direktoriju veidiem). Paši meklēšanas kritēriji var atšķirties diezgan plašā diapazonā. Tas ir, jūs varat atrast nepieciešamos datus, pat neatceroties, kur tie ir saglabāti konfigurācijā un kā tieši tie tika ierakstīti.

Pilna teksta meklēšana nodrošina šādas iespējas:

  • Ir atbalsts transliterācijai (krievu vārdu rakstīšana, izmantojot latīņu burtus saskaņā ar GOST 7.79-2000). Piemērs: "krievu frāze" = "russkaya fraza".
  • Ir atbalsts aizstāšanai (daļa rakstzīmju rakstīšana krievu vārdos ar viena taustiņa latīņu rakstzīmēm). Piemērs: “russrfz frapf” (katra vārda galotnes tiek rakstītas ar latīņu burtiem, piemēram, operatora kļūdas rezultātā).
  • Ir iespējama neskaidra meklēšana (burti atrastajos vārdos var atšķirties), norādot izplūdušo slieksni. Piemērs: meklēšanas joslā norādot vārdu "sveiki" un neskaidrību 17%, mēs atradīsim visus līdzīgos vārdus ar un bez kļūdām: "sveiki", "prevet", "prived".
  • Ir iespējams norādīt atlasīto metadatu objektu meklēšanas jomu.
  • Standarta lauku nosaukumu ("Kods", "Nosaukums" utt.) pilna teksta indeksācija tiek veikta visās konfigurācijas valodās.
  • Meklēšana tiek veikta, ņemot vērā krievu, angļu un ukraiņu valodu sinonīmus.
  • Krievu valodas morfoloģiskajā vārdnīcā ir vairāki specifiski vārdi, kas saistīti ar darbības jomām, kuras tiek automatizētas, izmantojot programmu sistēmu 1C: Enterprise.
  • Standarta komplektācijā iekļautās vārdnīcas ietver vārdnīcu datu bāzes un tēzaura vārdnīcas un krievu, ukraiņu un sinonīmus. angļu valodas, kuras nodrošina Informātikas uzņēmums.
  • Meklēšanu var veikt, izmantojot aizstājējzīmes ("*"), kā arī norādot meklēšanas operatorus ("AND", "OR", "NOT", "NEXT") un īpašās rakstzīmes.

Pilna teksta meklēšanu var veikt jebkurā 1C:Enterprise 8 platformas konfigurācijā

Lai atvērtu pilna teksta meklēšanas vadības logu, rīkojieties šādi:

Regulāra pielietošana- izvēlnes vienums Darbības — pilna teksta meklēšanas pārvaldība.

Pārvaldīta lietojumprogramma- izvēlnes vienums Galvenā izvēlne — Visas funkcijas — Standarta —Pilna teksta meklēšanas pārvaldība.


  • Atjaunināt indeksu– Indeksa izveide/Indeksa atjaunināšana;
  • Notīrīt indeksu– indeksa atiestatīšana (ieteicams pēc visu datu atjaunināšanas);
  • vienums Atļaut indeksa sapludināšanu– atbild par galvenā un papildu indeksa apvienošanu.

Pilna teksta meklēšana tiek veikta, izmantojot pilna teksta indeksu. Bez indeksa pilna teksta meklēšana kā tāda nav iespējama. Lai meklēšana būtu efektīva, visi attiecīgie dati ir jāiekļauj pilna teksta rādītājā. Ja lietotājs datubāzē ievada jaunus datus, tie ir jāiekļauj attiecīgajā rādītājā, pretējā gadījumā tas nepiedalīsies meklēšanā. Lai no tā izvairītos, jums ir jāatjaunina pilna teksta rādītājs. Veicot atjaunināšanu, sistēma tikai analizē noteikti veidi dati: Virkne, Atsauces tipa dati (saites uz dokumentiem, direktorijiem), Numurs, Datums, Vērtību glabāšana. Ja lietotājam nav piekļuves tiesību noteiktai informācijai, tad viņš to nevarēs redzēt meklēšanas rezultātos. Tāpat jāatceras, ka to objektu īpašībās, kuriem tiks veikta meklēšana, ir jāiestata vērtība Pilna teksta meklēšana — izmantojiet, kas ir iestatīts pēc noklusējuma.

Kā var pamanīt īpašumu Izmantot iestatīts visam direktorijam Darījuma partneri, taču to var izdarīt katram tā atbilstošā tipa atribūtam.

Sīkāk apskatīsim pilna teksta indeksu, kas sastāv no divām daļām (indeksiem): galvenā rādītāja un papildu. Liels ātrums Datu izguvi nodrošina galvenais indekss, taču tā atjaunināšana notiek salīdzinoši lēni, atkarībā no datu apjoma. Papildu indekss ir pretējs tam. Dati tiek pievienoti daudz ātrāk, bet meklēšana notiek lēnāk. Sistēma vienlaikus veic meklēšanu abos rādītājos. Lielākā daļa datu atrodas galvenajā rādītājā, un sistēmai pievienotie dati tiek iekļauti papildu indeksā. Lai gan datu apjoms papildu rādītājā ir neliels, meklēšana tajā notiek salīdzinoši ātri. Laikā, kad sistēmas noslodze ir neliela, notiek indeksu sapludināšanas darbība, kuras rezultātā tiek notīrīts papildu indekss un visi dati tiek ievietoti galvenajā rādītājā. Indeksu apvienošanu vēlams veikt laikā, kad sistēmas slodze ir minimāla. Šim nolūkam varat izveidot regulētus uzdevumus un ieplānotos uzdevumus.

Norādot meklēšanas izteiksmi, ir atļauti īpaši operatori

Pilna teksta meklēšanas mehānisms ļauj rakstīt daļu no krievu vārda rakstzīmēm, izmantojot viena taustiņa latīņu rakstzīmes. Meklēšanas rezultāts nemainīsies.

Divi operatori TĀLĀK

  • vienkāršots. 8 vārdu starpība
  • NEAR/[+/-]n – datu meklēšana vienā atribūtā n-1 vārda attālumā starp tiem.

Zīme norāda, kurā virzienā no pirmā vārda tiks meklēts otrais vārds. (+ - pēc, - pirms)

Aizstājējzīmi “*” var izmantot tikai kā vārda beigu aizstājēju

Izplūduma operators "#". Ja precīza vārda rakstība, vārds nav zināms.

Programmatūra un 1C rīki: programmēšana.

Sinonīms operators "!" Ļauj atrast vārdu un tā sinonīmus

Kā programmatiski atjaunināt pilna teksta meklēšanas indeksu?

Kods 1C v 8.x Procedūra UpdateIndices() Export
FulltextSearch.UpdateIndex();
Procedūras beigas

Pilna teksta datu meklēšanas piemērs

SearchList mainīgā definēšana

Code 1C v 8.x mainīgo meklēšanas saraksts;

Turklāt notikuma When Form Opens apstrādes procedūrā noteiksim, ka šis mainīgais saturēs pilna teksta meklēšanas sarakstu, ar kura palīdzību veiksim datu meklēšanu.

Kods 1C v 8.x procedūra OnOpen()
SearchList = FullTextSearch.CreateList();
Procedūras beigas

Tagad, ja noklikšķināsim uz pogas Atrast, mēs ierakstīsim kodu, kas ļaus mums veikt meklēšanu saskaņā ar izteicienu, kas norādīts laukā SearchExpression

Kods 1C v 8.x procedūra FindClick (elements)
SearchList.SearchString = SearchExpression;
Mēģinājums
SearchList.FirstPart();
Izņēmums
Brīdinājums(ErrorDescription());
EndAttempt;
Ja SearchList.FullQuantity() = 0 Tad
Form Elements.ResultMessage.Value = "Nav atrasts";
Form Elements.SearchResult.SetText("");
Citādi
OutputSearchResult();
endIf;
Procedūras beigas

Vispirms šajā procedūrā mēs iestatām lietotāja ievadīto meklēšanas vienumu kā meklēšanas virkni pilna teksta meklēšanai. Pēc tam mēs izpildām metodi FirstPart(), kas faktiski palaiž pilna teksta meklēšanu un atgriež pirmo rezultātu daļu. Pēc noklusējuma daļā ir 20 elementi. Pēc tam mēs analizējam elementu skaitu meklēšanas sarakstā. Ja tajā nav neviena elementa, tad formā parādām atbilstošu ziņojumu. Pretējā gadījumā tiek izsaukta procedūra DisplaySearchResult(), kas lietotājam parāda rezultātus.

Veidlapas modulī izveidosim procedūru ar tādu pašu nosaukumu un ierakstīsim tajā kodu:

Kods 1C v 8.x Procedure OutputSearchResult()
Form Elements.ResultMessage.Value = "Displayed" + Row(SearchList.InitialPosition() + 1) + " - " + Row(SearchList.InitialPosition() +SearchList.Quantity()) + " from " + SearchList.FullQuantity() ;
Rezultāts = SearchList.GetDisplay(FullTextSearchDisplayType.HTMLText);
FormElements.SearchResult.SetText(Result);
ButtonAvailability();
Procedūras beigas

Šīs procedūras darbības ir vienkāršas. Pirmkārt, mēs ģenerējam ziņojumu par to, kuri elementi tiek parādīti un cik elementu kopā tika atrasts. Pēc tam mēs iegūstam pilna teksta meklēšanas rezultātu HTML teksta formā un parādām šo tekstu HTML dokumenta laukā, kas atrodas veidlapā.

Visbeidzot, mēs nododam kontroli uz procedūru Button Availability(), lai padarītu pieejamus vai, gluži pretēji, liegtu piekļuvi pogām Iepriekšējā daļa un Nākamā daļa (atkarībā no tā, kura iegūto rezultātu daļa tiek parādīta). Šīs procedūras teksts ir izklāstīts Kodeksā

Koda 1C v 8.x procedūras pogas pieejamība ()
Form Elements.NextPosition.Availability = (SearchList.FullQuantity() - SearchList.StartPosition()) > SearchList.Quantity();
Form Elements.PreviousPosition.Availability = (SearchList.StartPosition() > 0);
Procedūras beigas

Tagad jums ir jāizveido notikumu apstrādātāji, lai noklikšķinātu uz pogām PreviousPart () un NextPart ().

Kods 1C v8.x Procedūra Iepriekšējās porcijas presēšana (elements)
SearchList.PreviousPart();
OutputSearchResult();
Procedūras beigas
Nākamās porcijas presēšanas procedūra (elements)
SearchList.NextPart();
OutputSearchResult();
Procedūras beigas

Pēdējais “pieskāriens” ir izveidot onclick notikumu apstrādātāju HTML dokumenta laukam, kas atrodas veidlapā. Fakts ir tāds, ka pilna teksta meklēšanas rezultāts, kas tiek parādīts HTML teksta veidā, satur hipersaites uz meklēšanas saraksta elementu numuriem. Un mēs vēlētos, lai, lietotājam noklikšķinot uz šīs saites, sistēma atvērtu tā objekta formu, kas atrodas šajā saraksta elementā. Lai to izdarītu, mēs pārtversim HTML dokumenta laukā ietverto HTML dokumenta notikumu onclick, no hipersaites iegūsim saraksta vienuma numuru un atveram atbilstošā objekta formu. HTML dokumenta lauka onclick notikumu apstrādātāja teksts tiek parādīts kodā

Kods 1C v 8.x procedūras meklēšanas rezultāta klikšķis (elements, pEvtObj)
htmlElement = pEvtObj.srcElement;
// Pārbaudiet elementa id
If (htmlElement.id = "FullTextSearchListItem") Tad
// Iegūstiet faila nosaukumu (meklēšanas saraksta rindas numuru),
// ietverts hipersaitē
NumberInList = Skaitlis(htmlElement.nameProp);
// Iegūstiet meklēšanas saraksta virkni pēc numura
SelectedRow = meklēšanas saraksts[skaitsSarakstā];
// Atveriet atrastā objekta formu
OpenValue(SelectedRow.Value);
pEvtObj.returnValue = False;
endIf;
Procedūras beigas