Tsvakiridzo inobuda nemaitiro ekuita

Imwe yeakajairika mamiriro mune ese maapplication atinojaira kutsvaga data zvinoenderana nemamwe maitiro uye kuriratidza mune iri nyore kuverenga fomu. Panogonawo kunge paine dzimwe sarudzo dzekuronga, kuita mapoka, uye kupeji. Basa racho, muchirevo, diki, asi kana kurigadzirisa, vazhinji vanogadzira vanoita zvikanganiso zvakawanda, izvo zvinozoita kuti kubereka kutambure. Ngatiedzei kufunga dzakasiyana sarudzo dzekugadzirisa dambudziko iri uye tigadzire kurudziro yekusarudza yakanyanya kushanda kuita.

Tsvakiridzo inobuda nemaitiro ekuita

Peji sarudzo #1

Sarudzo iri nyore inouya mumusoro ndeye peji-ne-peji kuratidzwa kwezviwanikwa zvekutsvaga mumhando yayo yemhando yepamusoro.

Tsvakiridzo inobuda nemaitiro ekuita
Ngatiti application yako inoshandisa database yehukama. Muchiitiko ichi, kuratidza ruzivo mune iyi fomu, iwe uchafanirwa kumhanyisa mibvunzo miviri yeSQL:

  • Wana mitsara yepeji razvino.
  • Verenga nhamba yese yemitsara inoenderana nemaitiro ekutsvaga - izvi zvinodiwa kuratidza mapeji.

Ngatitarisei pamubvunzo wekutanga tichishandisa bvunzo MS SQL dhatabhesi semuenzaniso AdventureWorks ye2016 server. Nechinangwa ichi tichashandisa iyo Sales.SalesOrderHeader table:

SELECT * FROM Sales.SalesOrderHeader
ORDER BY OrderDate DESC
OFFSET 0 ROWS
FETCH NEXT 50 ROWS ONLY

Mubvunzo uri pamusoro uchadzosa maodha makumi mashanu ekutanga kubva pane iyo rondedzero, yakarongwa nekudzika zuva rekuwedzera, nemamwe mazwi, makumi mashanu ekupedzisira maodha.

Inomhanya nekukurumidza pachigadziko chekuyedza, asi ngatitarisei chirongwa chekuuraya uye I/O nhamba:

Tsvakiridzo inobuda nemaitiro ekuita

Table 'SalesOrderHeader'. Scan count 1, logical reads 698, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

Unogona kuwana nhamba dzeI/O pamubvunzo wega wega nekumhanyisa iyo SET STATISTICS IO ON kuraira mune yekubvunza nguva yekumhanya.

Sezvauri kuona kubva paurongwa hwekuuraya, iyo yakanyanya-sosi-yakanyanya sarudzo ndeyekurongedza mitsara yese yetafura sosi nezuva rakawedzerwa. Uye dambudziko nderekuti iyo mitsetse yakawanda ichionekwa mutafura, iyo "yakaoma" kuronga kuchava. Mukuita, mamiriro akadai anofanirwa kudzivirirwa, saka ngatiwedzere indekisi kune zuva rekuwedzera uye tione kana kushandiswa kwezviwanikwa kwachinja:

Tsvakiridzo inobuda nemaitiro ekuita

Table 'SalesOrderHeader'. Scan count 1, logical reads 165, physical reads 0, read-ahead reads 5, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

Zviripachena zvave nani zvakanyanya. Asi matambudziko ose anopedzwa here? Ngatichinjei mubvunzo kutsvaga maodha uko mutengo wezvinhu unopfuura $100:

SELECT * FROM Sales.SalesOrderHeader
WHERE SubTotal > 100
ORDER BY OrderDate DESC
OFFSET 0 ROWS
FETCH NEXT 50 ROWS ONLY

Tsvakiridzo inobuda nemaitiro ekuita

Table 'SalesOrderHeader'. Scan count 1, logical reads 1081, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

Tine mamiriro anosetsa: chirongwa chemubvunzo hachina kunyanya kushata kupfuura chakapfuura, asi iyo chaiyo nhamba yekuverenga zvine musoro inokwana zvakapetwa kaviri senge yakazara tafura scan. Pane nzira yekubuda nayo - kana tikaita composite index kubva kune yatovepo indekisi uye towedzera mutengo wakakwana wezvinhu semunda wechipiri, isu tichawana zvakare 165 inonzwisisika inoverenga:

CREATE INDEX IX_SalesOrderHeader_OrderDate_SubTotal on Sales.SalesOrderHeader(OrderDate, SubTotal);

Iyi nhevedzano yemienzaniso inogona kuenderera mberi kwenguva yakareba, asi pfungwa mbiri huru dzandinoda kutaura pano ndeidzi:

  • Kuisa chero chirevo chitsva kana kurongeka kumubvunzo wekutsvaga kunogona kuve nekukanganisa kukuru pakumhanya kwemubvunzo wekutsvaga.
  • Asi kana tichida kubvisa chikamu che data chete, uye kwete mibairo yose inoenderana nemashoko ekutsvaga, kune nzira dzakawanda dzekugadzirisa mubvunzo wakadaro.

Zvino ngatiendei kumubvunzo wechipiri wataurwa pakutanga - iwo unoverenga nhamba yezvinyorwa zvinogutsa chirevo chekutsvaga. Ngatitorei muenzaniso mumwechete - kutsvaga maodha anodarika $100:

SELECT COUNT(1) FROM Sales.SalesOrderHeader
WHERE SubTotal > 100

Tichifunga iyo composite index inoratidzwa pamusoro, tinowana:

Tsvakiridzo inobuda nemaitiro ekuita

Table 'SalesOrderHeader'. Scan count 1, logical reads 698, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

Icho chokwadi chekuti mubvunzo unoenda kuburikidza nendekisi yese hazvishamisi, sezvo iyo SubTotal ndima isiri munzvimbo yekutanga, saka mubvunzo haugone kuushandisa. Dambudziko rinogadziriswa nekuwedzera imwe index pane SubTotal ndima, uye semhedzisiro inopa 48 chete kuverenga zvine musoro.

Iwe unogona kupa mimwe mienzaniso mishoma yezvikumbiro zvekuverenga huwandu, asi essence inoramba yakafanana: kugamuchira chidimbu che data uye kuverenga huwandu hwese zvikumbiro zviviri zvakasiyana zvakasiyana, uye imwe neimwe inoda matanho ayo ekugadzirisa. Kazhinji, hauzokwanisi kuwana musanganiswa wema indexes anoshanda zvakaenzana kune ese ari maviri mibvunzo.

Saizvozvo, chimwe chezvinodiwa zvakakosha zvinofanirwa kujekeswa pakugadzira mhinduro yekutsvaga yakadaro ndeyekuti zvakakosha here kuti bhizinesi rione huwandu hwezvinhu zvakawanikwa. Zvinowanzoitika kuti kwete. Uye kufamba nenhamba dzepeji chaiyo, mumaonero angu, imhinduro ine nzvimbo yakamanikana kwazvo, sezvo mamiriro mazhinji epeji anoita senge "enda kune peji rinotevera."

Peji sarudzo #2

Ngatifungei kuti vashandisi havana basa nekuziva huwandu hwezvinhu zvakawanikwa. Ngatiedze kurerutsa peji yekutsvaga:

Tsvakiridzo inobuda nemaitiro ekuita
Muchokwadi, chinhu chimwe chete chakachinja ndechekuti hapana nzira yekufamba kune yakatarwa nhamba dzepeji, uye ikozvino tafura iyi haidi kuziva kuti vangani vangave kuti varatidze. Asi mubvunzo unomuka - tafura inoziva sei kana paine data yepeji rinotevera (kuitira kunyatsoratidza "Inotevera" link)?

Mhinduro yacho iri nyore kwazvo: unogona kuverenga kubva kudhatabhesi rekodhi imwe kupfuura inodiwa pakuratidzira, uye kuvapo kweiyi "yakawedzerwa" rekodhi kunoratidza kana paine chikamu chinotevera. Nenzira iyi, iwe unongoda kumhanyisa chikumbiro chimwe chete kuti uwane peji imwe yedata, iyo inovandudza zvakanyanya mashandiro uye inoita kuti zvive nyore kutsigira mashandiro akadaro. Mukuita kwangu, pane imwe nyaya apo kuramba kuverenga nhamba yose yezvinyorwa zvakakurumidza kuendeswa kwemigumisiro ne 4-5 nguva.

Pane akati wandei ekushandisa mashandisirwo esarudzo dzeiyi nzira: "kumashure" uye "mberi" mirairo, semumuenzaniso uri pamusoro, bhatani re "mutoro wakawanda", iro rinongowedzera chikamu chitsva kune zvakaratidzwa zvabuda, "infinite scroll", inoshanda. pamusimboti we "mutoro wakawanda" ", asi chiratidzo chekutora chikamu chinotevera ndechekuti mushandisi apumburudze zvese zvakaratidzwa mhinduro kusvika kumagumo. Chero mhinduro yekuona, musimboti we data sampling inoramba yakafanana.

Nuances ekugadzirisa paging

Mumienzaniso yese yemubvunzo yakapihwa pamusoro, nzira ye "offset + count" inoshandiswa, apo mubvunzo pachawo unotsanangura kuti mitsara yemhedzisiro inorongeka sei uye kuti mitsetse mingani inoda kudzorerwa. Kutanga, ngatitarisei nzira yakanakisa yekuronga parameter ichipfuura mune iyi kesi. Mukuita, ndakawana nzira dzinoverengeka:

  • Nhamba yeserial yepeji yakakumbirwa (pejiIndex), saizi yepeji (pejiSize).
  • Nhamba yeserial yerekodhi yekutanga kudzoserwa (startIndex), iyo yakawanda nhamba yezvinyorwa mumhedzisiro (kuverenga).
  • Nhamba yekutevedzana yerekodhi yekutanga kudzoserwa (startIndex), nhamba yekutevedzana yerekodhi yekupedzisira kudzoserwa (endIndex).

Pakutanga kuona zvingaita sekuti izvi ndezvekutanga zvekuti hapana mutsauko. Asi izvi hazvina kudaro - yakanyanya nyore uye yakasarudzika sarudzo ndeyechipiri (kutangaIndex, kuverenga). Pane zvikonzero zvakawanda zveizvi:

  • Nezve +1 yekupinda yekuongorora kuongorora yakapihwa pamusoro, sarudzo yekutanga ine pejiIndex uye pejiSize haina kunetsa zvakanyanya. Semuenzaniso, tinoda kuratidza 50 zvinyorwa pa peji. Zvinoenderana neiyo algorithm iri pamusoro, iwe unofanirwa kuverenga imwezve rekodhi pane zvakafanira. Kana iyi "+1" isina kushandiswa pavhavha, zvinoitika kuti peji rekutanga tinofanira kukumbira zvinyorwa kubva pa1 kusvika ku51, yechipiri - kubva pa51 kusvika ku101, nezvimwewo. Kana iwe ukatsanangura saizi yepeji ye51 uye kuwedzera pejiIndex, ipapo peji rechipiri rinodzoka kubva pa52 kusvika 102, nezvimwe. Saizvozvo, mune yekutanga sarudzo, iyo chete nzira yekushandisa nemazvo bhatani kuti uende kune rinotevera peji ndeyekuita kuti sevha iverenge "yakawedzera" mutsara, inova yakanyatsojeka nuance.
  • Sarudzo yechitatu haina musoro zvachose, sezvo kumhanyisa mibvunzo mumadhatabhesi mazhinji iwe unenge uchiri kuda kupasa kuverenga kwete indekisi yerekodhi yekupedzisira. Kubvisa startIndex kubva endIndex inogona kunge iri nyore arithmetic oparesheni, asi yakanyanya kunaka pano.

Iye zvino isu tinofanirwa kutsanangura kuipa kwekushandisa paging kuburikidza ne "offset + quantity":

  • Kudzosa peji imwe neimwe inotevera ichave inodhura uye inononoka kupfuura yapfuura, nekuti dhatabhesi icharamba ichida kupfuudza zvese zvinyorwa "kubva pakutanga" zvinoenderana nekutsvaga uye kuronga maitiro, uye wozomira pane yaunoda chidimbu.
  • Haasi ese maDBMS anogona kutsigira nzira iyi.

Pane dzimwe nzira, asi hadzina kukwanawo. Yekutanga yeiyi nzira inonzi "keyset paging" kana "seek method" uye ndeiyi inotevera: mushure mekugamuchira chikamu, unogona kurangarira hunhu hwemumunda mune rekodhi rekupedzisira pane peji, wobva waashandisa kuwana. chikamu chinotevera. Somuenzaniso, takaita mubvunzo unotevera:

SELECT * FROM Sales.SalesOrderHeader
ORDER BY OrderDate DESC
OFFSET 0 ROWS
FETCH NEXT 50 ROWS ONLY

Uye mune rekupedzisira rekodhi takawana kukosha kwezuva rekurongeka '2014-06-29'. Zvadaro kuti uwane peji rinotevera unogona kuedza kuita izvi:

SELECT * FROM Sales.SalesOrderHeader
WHERE OrderDate < '2014-06-29'
ORDER BY OrderDate DESC
OFFSET 0 ROWS
FETCH NEXT 50 ROWS ONLY

Dambudziko nderekuti OrderDate imunda usiri wakasarudzika uye mamiriro ataurwa pamusoro anogona kupotsa mitsetse yakawanda inodiwa. Kuti uwedzere kusajeka kumubvunzo uyu, unofanirwa kuwedzera imwe nzvimbo kune mamiriro (fungidzira kuti 75074 ndiyo yekupedzisira kukosha kwekiyi yekutanga kubva pachikamu chekutanga):

SELECT * FROM Sales.SalesOrderHeader
WHERE (OrderDate = '2014-06-29' AND SalesOrderID < 75074)
   OR (OrderDate < '2014-06-29')
ORDER BY OrderDate DESC, SalesOrderID DESC
OFFSET 0 ROWS
FETCH NEXT 50 ROWS ONLY

Iyi sarudzo ichashanda nemazvo, asi kazhinji zvichanetsa kukwirisa sezvo mamiriro acho aine OR opareta. Kana kukosha kwekiyi yekutanga kuchiwedzera sezvo OrderDate inowedzera, ipapo mamiriro anogona kurerutswa nekusiya chete sefa neSalesOrderID. Asi kana pasina kuwirirana kwakasimba pakati pezvakakosha zvekiyi yekutanga uye munda unogadziriswa mhedzisiro, izvi KANA hazvigone kudzivirirwa mumaDBMS mazhinji. Imwe yandinoziva ndeye PostgreSQL, inotsigira zvizere tuple kuenzanisa, uye mamiriro ari pamusoro anogona kunyorwa se "KUPI (OrderDate, SalesOrderID) <('2014-06-29', 75074)". Tichipihwa kiyi inosanganiswa neaya minda miviri, mubvunzo wakadai unofanirwa kunge uri nyore.

Imwe nzira yechipiri inogona kuwanikwa, semuenzaniso, mu Purogiramu inonzi ElasticSearch scroll kana Cosmos DB - kana chikumbiro, kuwedzera kune data, chinodzosera yakakosha chiziviso chaunogona kuwana chikamu chinotevera che data. Kana chiziviso ichi chine hupenyu husina muganho (semuna Comsos DB), saka iyi inzira yakanaka yekushandisa paging ine sequential shanduko pakati pemapeji (sarudzo #2 yataurwa pamusoro). Zvingave zvisingabatsiri: hazvitsigirwi muDBMS dzose; iyo inozotevera-chunk identifier inogona kuve nehupenyu hushoma, iyo isingawanzo kukodzera kushandisa mushandisi kudyidzana (seElasticSearch scroll API).

Kusefa kwakaoma

Ngatiomese basa mberi. Ngatitii pane chinodiwa kuita iyo inodaidzwa kuti faceted search, iyo inozivikanwa kwazvo kune wese munhu kubva muzvitoro zvepamhepo. Mienzaniso iri pamusoro yakavakirwa patafura yeodha haina ratidziro zvakanyanya mune iyi kesi, saka ngatichinjei kuChigadzirwa tafura kubva kuAdventureWorks dhatabhesi:

Tsvakiridzo inobuda nemaitiro ekuita
Ndedzipi pfungwa dziri seri kwetsvakiridzo yemhando? Icho chokwadi ndechekuti kune chimwe nechimwe chesefa nhamba yezvinyorwa zvinosangana neiyi criterion inoratidzwa uchifunga mafirita akasarudzwa mune mamwe mapoka ese.

Semuenzaniso, kana tikasarudza chikamu cheMabhasikoro uye ruvara Nhema mumuenzaniso uyu, tafura inongoratidza mabhasikoro matema, asi:

  • Pachiyero chega chega chiri muboka reZvikamu, nhamba yezvigadzirwa kubva muchikamu ichocho zvicharatidzwa zvitema.
  • Pachiyero chega chega cheboka re "Mavara", nhamba yemabhasikoro eruvara urwu icharatidzwa.

Heino muenzaniso wekubuda kwemhedzisiro yemamiriro akadai:

Tsvakiridzo inobuda nemaitiro ekuita
Kana iwe ukatarisawo chikamu che "Chipfeko", tafura icharatidzawo zvipfeko zvitema zviri muzvitoro. Nhamba yezvigadzirwa zvitema muchikamu che "Color" ichadzokororwa zvakare maererano nemamiriro matsva, chete muchikamu che "Categories" hapana chichachinja ... Ndinotarisira kuti mienzaniso iyi yakakwana kuti inzwisise zvinowanzoitwa faceted search algorithm.

Zvino ngatimbofungidzira kuti izvi zvingaitwa sei pahukama. Boka rega rega remaitiro, akadai seChikamu uye Rudzi, rinoda mubvunzo wakasiyana:

SELECT pc.ProductCategoryID, pc.Name, COUNT(1) FROM Production.Product p
  INNER JOIN Production.ProductSubcategory ps ON p.ProductSubcategoryID = ps.ProductSubcategoryID
  INNER JOIN Production.ProductCategory pc ON ps.ProductCategoryID = pc.ProductCategoryID
WHERE p.Color = 'Black'
GROUP BY pc.ProductCategoryID, pc.Name
ORDER BY COUNT(1) DESC

Tsvakiridzo inobuda nemaitiro ekuita

SELECT Color, COUNT(1) FROM Production.Product p
  INNER JOIN Production.ProductSubcategory ps ON p.ProductSubcategoryID = ps.ProductSubcategoryID
WHERE ps.ProductCategoryID = 1 --Bikes
GROUP BY Color
ORDER BY COUNT(1) DESC

Tsvakiridzo inobuda nemaitiro ekuita
Chii chakaipa nemhinduro iyi? Zviri nyore - hazvina kuyera zvakanaka. Chikamu chega chega chesefa chinoda mubvunzo wakasiyana kuti uverenge huwandu, uye iyi mivhunzo haisi nyore. Muzvitoro zvepamhepo, mamwe mapoka anogona kunge aine gumi nemaviri mafirita zvikamu, izvo zvinogona kuve zvakakomba kuita nyaya.

Kazhinji mushure mezvirevo izvi ndinopihwa dzimwe mhinduro, dzinoti:

  • Sanganisa huwandu hwese huverengero mune imwe mubvunzo. Nehunyanzvi izvi zvinogoneka uchishandisa UNION keyword, asi hazvizobatsire kuita zvakanyanya - dhatabhesi richaramba richiita chimwe nechimwe chezvimedu kubva kutanga.
  • Cache uwandu. Izvi zvinokurudzirwa kwandiri pese pese pandinotsanangura dambudziko. Caveat ndeyekuti izvi kazhinji hazvigoneke. Ngatitii tine gumi "mativi", chimwe nechimwe chine 10 kukosha. Iyi inzvimbo "yakapfava" zvakanyanya kana ichienzaniswa neiyo inogona kuonekwa muzvitoro zvakafanana zvepa online. Sarudzo yeimwe facet element inokanganisa huwandu mune vamwe 5, nemamwe mazwi, kune yega yega musanganiswa wemaitiro huwandu hunogona kusiyana. Mumuenzaniso wedu, pane zviyero zve 9 izvo mushandisi anogona kusarudza, saka pachava nekubatanidzwa kunokwanisika 50. Hapana chiyeuchidzo chakakwana kana nguva yekuzadza dhata yakadaro. Pano iwe unogona kuramba uye uchiti haasi ese masanganiswa ari echokwadi uye mushandisi haawanzo kusarudza zvinopfuura 250-5 maitiro. Hongu, zvinogoneka kuita husimbe kurodha uye cache huwandu hwezvakambosarudzwa, asi sarudzo dzakawanda dziripo, iyo cache inosashanda zvakanyanya uye zvakanyanya kuoneka matambudziko enguva yekupindura (kunyanya kana data set inochinja nguva nenguva).

Sezvineiwo, dambudziko rakadai rave nenguva riine mhinduro dzinoshanda dzinoshanda zvinofanotaurwa pamavhoriyamu makuru e data. Kune chero yeiyi sarudzo, zvine musoro kupatsanura kuverengerwazve kwezvikamu uye kugamuchira peji remhedzisiro kuita mafoni maviri akafanana kune sevha uye kuronga iyo mushandisi interface nenzira yekuti kurodha data nezvikamu "hakupindire" nekuratidzwa kwe. tsvaga mhinduro.

  • Dana kuverengera kuzere kwe "mativi" kashoma sezvinobvira. Semuyenzaniso, usaverengezve zvese pese panochinja maitiro ekutsvaga, asi tsvaga huwandu hwese hwemhedzisiro inoenderana nemamiriro azvino uye kurudzira mushandisi kuti avaratidze - "1425 marekodhi awanikwa, ratidza?" Mushandisi anogona kuenderera mberi nekuchinja mazwi ekutsvaga kana kudzvanya bhatani rekuti "ratidza". Chete muchiitiko chechipiri zvese zvikumbiro zvekuwana mhedzisiro uye kuverengera huwandu pane ese "mativi" zvichaitwa. Mune ino kesi, sezvauri kuona zviri nyore, iwe uchafanirwa kubata nechikumbiro kuti uwane huwandu hwese hwemhedzisiro uye optimization yayo. Iyi nzira inogona kuwanikwa muzvitoro zvidiki zvakawanda zvepamhepo. Zviripachena, iyi haisi panacea yedambudziko iri, asi mumatambudziko ari nyore inogona kuve yakanaka kuwirirana.
  • Shandisa injini dzekutsvaga kutsvaga mhinduro uye kuverenga maficha, akadai seSolr, ElasticSearch, Sphinx nevamwe. Ese akagadzirirwa kuvaka "mativi" uye kuita izvi nemazvo nekuda kweiyo inverted index. Injini dzekutsvaga dzinoshanda sei, nei mumamiriro ezvinhu akadaro dzichishanda kupfuura general-chinangwa dhatabhesi, ndeapi maitiro uye misungo iripo - iyi inyaya yechinyorwa chakasiyana. Pano ini ndinoda kukwevera pfungwa dzako kune chokwadi chekuti injini yekutsvaga haigone kutsiva iyo huru yekuchengetedza data; inoshandiswa sekuwedzera: chero shanduko mudhatabhesi huru inoenderana nekutsvaga inowiriraniswa mune yekutsvaga index; Injini yekutsvaga inowanzopindirana chete nejini yekutsvaga uye haigoni kuwana database huru. Imwe yemapoinzi akakosha pano ndeye kuronga uku kuwiriranisa zvakavimbika. Izvo zvese zvinoenderana ne "rection time" zvinodiwa. Kana iyo nguva iri pakati pekuchinja mudura guru uye "kuratidzwa" kwayo mukutsvaga haina kukosha, unogona kugadzira sevhisi inotsvaga marekodhi achangobva kuchinjwa maminetsi mashoma uye anoanyora. Kana iwe uchida iyo ipfupi inobvira yekupindura nguva, unogona kuita chimwe chinhu chakadai transactional outbox kutumira zvigadziriso kusevhisi yekutsvaga.

zvakawanikwa

  1. Kushandisa server-side paging idambudziko rakakura uye rinongoita zvine musoro pakukura nekukurumidza kana kungoita hombe data seti. Iko hakuna chaiyo chaiyo nzira yekuongorora "hombe" kana "kukura nekukurumidza", asi ini ndaizotevera nzira iyi:
    • Kana kugamuchira kuunganidzwa kwakazara kwedata, uchifunga nezve server nguva uye netiweki kutapurirana, inoenderana nekuita zvinodiwa kazhinji, hapana chikonzero mukushandisa paging padivi reseva.
    • Panogona kuva nemamiriro ezvinhu apo pasina matambudziko ekushanda anotarisirwa munguva yemberi iri pedyo, sezvo pane data shoma, asi kuunganidza deta kunoramba kuchikura. Kana imwe seti yedata mune ramangwana inogona kunge isingachagutsi iyo yapfuura poindi, zviri nani kutanga kupeja ipapo.
  2. Kana pasina chinodikanwa chakasimba kune chikamu chebhizinesi kuratidza huwandu hwese hwemhedzisiro kana kuratidza nhamba dzepeji, uye system yako haina injini yekutsvaga, zviri nani kusaita aya mapoinzi uye funga nezvesarudzo #2.
  3. Kana paine chinodiwa chakajeka chekutsvaga kwakasarudzika, une sarudzo mbiri pasina kupira kuita:
    • Usaverenge zvakare huwandu hwese pese panochinja maitiro ekutsvaga.
    • Shandisa injini dzekutsvaga dzakadai seSolr, ElasticSearch, Sphinx nevamwe. Asi inofanira kunzwisiswa kuti haigone kutsiva dhatabhesi huru, uye inofanira kushandiswa sekuwedzera kune chikuru chekuchengetedza kugadzirisa matambudziko ekutsvaga.
  4. Zvakare, kana iri nyaya yekutsvaga kwakatarisana, zvine musoro kupatsanura kudzoreredzwa kwepeji rekutsvaga uye kuverenga kuita zvikumbiro zviviri zvakafanana. Kuverenga huwandu kunogona kutora nguva yakareba kupfuura kuwana mhinduro, nepo zvabuda zvichinyanya kukosha kumushandisi.
  5. Kana uri kushandisa SQL dhatabhesi yekutsvaga, chero shanduko yekodhi ine chekuita nechikamu ichi inofanira kunyatsoongororwa kushanda pahuwandu hwakakodzera hwedata (kupfuura vhoriyamu mudura rehupenyu). Izvo zvakare zvinokurudzirwa kushandisa yekutarisa yenguva yekuitwa kwemibvunzo pane ese zviitiko zvedhatabhesi, uye kunyanya pane iyo "live" imwe. Kunyangwe kana zvese zvaive zvakanaka nehurongwa hwemubvunzo padanho rekusimudzira, sezvo huwandu hwe data huchikura, mamiriro ezvinhu anogona kuchinja zvinooneka.

Source: www.habr.com

Voeg