thesnarkie Posted March 21, 2010 Report Share Posted March 21, 2010 Sveiki, Gribēju uzzināt kā var izveidot kaut kādas automātiskas darbības. Piemēram, ja es tabulā kaut kādā rowā, kaut kādam lietotājam ierakstu colonā expire 2010-03-21 14:50:36, ka tad ir jābeidzās kaut kādam pakalpojumam un kad pienāk šis 2010-03-21 14:50:36 laiks es gribu, lai automātiski tas row tiek dzēsts, lai man nebūtu pašam jāskatās visi tiek expire datumi un manuāli viss jādzēš un so on.. Quote Link to comment Share on other sites More sharing options...
zarins Posted March 21, 2010 Report Share Posted March 21, 2010 cron Quote Link to comment Share on other sites More sharing options...
l27 Posted March 21, 2010 Report Share Posted March 21, 2010 (edited) a) vienkārši Pirms selecta ieliec delete from .. where expire_date<now() b) ieteicams selectā ieliec where expire_date<now() cronu var reizi dienā, vai pat nedēļā laist un dzēst Edited March 21, 2010 by l27 Quote Link to comment Share on other sites More sharing options...
thesnarkie Posted March 21, 2010 Author Report Share Posted March 21, 2010 Paldies! Quote Link to comment Share on other sites More sharing options...
marcis Posted March 21, 2010 Report Share Posted March 21, 2010 l27, labāk jau biežāk palaist cron skriptu, nekā papildus argumentus selektā :) Quote Link to comment Share on other sites More sharing options...
2easy Posted March 21, 2010 Report Share Posted March 21, 2010 aha, katru selektu papildināt ar delete tiešām nav prātīgi no performances viedokļa (ja tā kādam ir svarīga :D) cron ftw Quote Link to comment Share on other sites More sharing options...
l27 Posted March 21, 2010 Report Share Posted March 21, 2010 "Daudzsološais profiņš", "Spama meistars" - nav par skaļu teikts? Quote Link to comment Share on other sites More sharing options...
2easy Posted March 21, 2010 Report Share Posted March 21, 2010 un kā tu iesaki teikt, lai nav par skaļu? :D Quote Link to comment Share on other sites More sharing options...
Gints Plivna Posted March 21, 2010 Report Share Posted March 21, 2010 Periodiskus procesus parasti laiž ne pārāk bieži, biežākais, ko esmu redzējis laikam ir sesiju automātiska izbeigšana (kā reiz delete) reizi kādās pāris minūtēs. Taču, lai cik bieži to arī nelaistu, tas neatrisina problēmu, ja precizitātei jābūt uz sekundi. Tāpēc vienīgais korektais risinājums ir likt tomēr tos papildus laika kritēriju where klauzā. Kas attiecas par ierakstu dzēšanu pirms atlases, tad: - kā jau šeit minēja, tas vispārīgā gadījumā nav pārāk ātrdarbīgs risinājums, - otrkārt, ja dati tiek atlasīti no vairākām vietām, tad visur jāliek arī dzēšana, kas jau kļūts apnicīgi un gan jau ka kaut kur to aizmirsīs izdarīt - treškārt reizēm ir svarīgi no tiesību utml viedokļa nošķirt tīras datu atlases operācijas no datu koriģēšanas operācijām, un šeit normāla datu atlase pēkšņi ne no šā, ne no tā pārvēršas par datu koriģēšanas operāciju. No otras puses visi šie 3 argumenti var nebūt spēkā konkrētajā gadījumā ;) Gints Plivna http://datubazes.wordpress.com Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.