Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

Ir sanācis aizdomāties par sekojošu jautājumu:

 

Kā labāk atlasīt datus no db? Veidot vienu milzīgu vaicājumu (ar JOIN) vai vairākus mazākus, programmatiski datus pēc tam savienojot? Kā tas attiektos uz ātrdarbību?

 

Vēl viena lieta. Šobrīd vienai sistēmai esmu realizējis atlasi tā, ka atlasīti tiek tikai tie lauki, kas vajadzīgi (respektīvi - bezmaz vai katrai funkcionalitātei savs "kverijs", kaut arī f-jas izmanto gandrīz vienus un tos pašus datus) un rezultātā ir saveidojušies milzumdaudz dažādi SELECTi tā, ka nu jau paliek pagrūti noorientēties. Varbūt to visu esmu darījis lieki un varētu vienkārši atlasīt visus tabulu laukus uzreiz un tad programmā filtrēt, ko vajag un ko ne?

 

Protams, pastāv variants programmā izveidot savu "kveriju builderi", taču jebkurā gadījumā esošie jautājumi paliek aktuāli :)

Edited by bfj
Posted

Gandrīz vienmēr labāk ir taisīt vienu lielu vaicājumu, nekā daudzus mazus.

Vienīgi protams jāatcerās par vaicājumu optimizāciju:

EXPLAIN LIELAIS_BRIESMĪGAIS_SQL_VAICĀJUMS

 

Pareizi ir atlasīt tikai to, kas Tev vajadzīgs un neko vairāk.

Posted

Datubāzes domātas tam, lai veiktu savienojumus (join), tur piekrītu Aleksejam.

Savukārt par to, ka atlasīti tikai to ko vajag un neko citu, es teiktu, ka ir jāatrod kaut kāds zelta vidusceļš.

Ja biznesa objektā ir 10 lauki, tad no tiem var izveidot ... šausmas iedomāties cik kombinācijas ;)

Attiecīgi varētu piemēram, visus laukus, un vairākas apakškopas, ko visbiežāk lieto. Tad pat, ja formā ir 4 lauki no 5 atlasītajiem, nedomāju, ka trafiks būs pārlieku liels. Jo jāskatās, kā jau autors norādīja arī koda uzturamība. Pie tam kas tādā gadījumā notiek, ja visur/gandrīz visur vēl kaut kas jāpieliek klāt? Galvenais, lai neatlasa kaut kādus monstrozus laukus (komentārus, aprakstus, attēlus), kas galu galā nevajag.

No otras puses te ir jautājums par analīzi/biznesu - kāpēc veidojas tāda dīvaina situācija, ka ir n formas, kas atšķiras tikai par dažiem laukiem? Varbūt vajag pieturēties pie dažiem standarta izkārtojumiem, lai šāda problēma programmētājiem vispār neveidotos?

 

Gints Plivna

http://datubazes.wordpress.com/

  • 1 month later...
Posted

Katrā ziņā, nevajadzētu aizmirst tādu lietu kā cache..Tas atvieglo mazliet un mazina to staigāšanu iekšā ārā datubāzēs.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...