Jump to content
php.lv forumi

Automātiska informācijas dzēsšana no mySQL


PrairieDog

Recommended Posts

Lielum lielais sveiciens, visiem!

 

Tad nu lieta ir sekojoša - vai kāds labs cilvēks var man palīdzēt ar kādu piemēru ( jau esmu meklējis internetā atbildi uz savu jautājumu, bet diemžēl ar konkrētajām lietām, ko man ir devuši ( lapas, kur aprakstīti dažādi tagi ) man smadzene par īsu, lai kaut ko saveidotu, tāpēc jautāju jums:

 

Man ir šāda viesu grāmata ( kā pielikumā ), to ir paredzēts kapitāli pārveidot ( par cik, man vēl ir tikai lielum lielais mērķis sākt mācīties programmēšanu ), jo viss būtu labi, bet ir viens bet, kura risinājumu internetā nespēju atrast un tas būtu: kā panākt to, ka šai grāmatai būtu pievienota vēl viena izvēlne ( tajā vietā, kur lietotājs aizpilda laciņus ), kura līdzinātos dropdown menu un tur būtu izvēles iespējas, piemēram 1 ; 5 ; 10 ; 15 - tās būtu minūtes, cik ilgi lietotājs vēlas, lai konkrētais posts atrastos viesu grāmatā... Piemēram ja lietotājs izvēlas 1min un ieposto, tad šis posts rādās 1 min, pēc kā automātiski izdzēšas no datubāzes...

 

Kā jau iepriekš minēju, manas zināšanas programmēšanā ir diezgan nožēlojamas, bet vēlme kaut ko izveidot ir nežēlīga, tāpēc cenšos taisīt ko tādu, kas pašam šķiet interesanti un paralēli mācīties, tāpēc, lūdzu, varbūt kādam ir kāds piemērs ar kādu līdzīgu skriptu, vai arī ar kādu tutorialu...

 

Jau iepriekš paldies!

demo.zip

Link to comment
Share on other sites

Tur nekas grūts nav, paņem paskaties if else konstrukciju.

Ņus, teorētiski varētu būt, pat pieņemsim, ka viens laiks visiem postiem noteikts 5 min, tad varētu kaut kā mēģināt ar laikiem salikt kopā... if ir pagājušas 5 min, posts dzēšās else stāv kā siena.... Kaut kā tā varētu būt?

Link to comment
Share on other sites

Glabajājot pie posta saglābā ielikšanas laiku.

Selectojot pie where pieliec klāt nosacījumu, lai selekto tikai tos postus, kuri nav vecāki par 5,10,15 minūtēm.

 

INSERT INTO posts SET posttime=unix_timestamp();

 

SELECT * FROM posts WHERE posttime>unix_timestamp()-600

 

600 = 600 sekundes = 10 minūtes

Edited by codez
Link to comment
Share on other sites

codez gribēju pajautāt, kas ir īsti pareizi indeksi?

pareizi indeksi ir arī tādi, kas tiek izmantoti pēc vajadzības - ar fulltext taču netaisīsi kaut kādu pagination. arī ar offset jābūt uzmanīgiem pie lieliem datu apjomiem. iespējams vajag kaut kādu agregātdatus utt.

Link to comment
Share on other sites

Bet, ja tur sakrāsies daudz vecu postu, datubāze nevar sākt nežēlīgi bremzēt? Nē, nu protams, tad ik pa laikam varētu visu datubāzi iztīrīt, bet šis jautājums vienkārši priekš manis - zināšanai...

Var uzlikt cronu, kas kaut kad pa nakti, vai kad slodze ir mazaka, iztīra datubāzi no nevajadzīgajiem ierakstiem. Bet par to ir vērts domāt, ja tur katru dienu parādās un vairs nav vajadzīgi tūkstoši ierakstu.

Link to comment
Share on other sites

Šī ir klasiska problēma.

Es parasti cilvēkiem saku, ka pirms sākt ķerties pie aplikāciju izstrādes, vajag iemācīties kārtīgi algoritmiski domāt - kā minimums izprast klasiskās datu struktūras: heap, binārais koks, segmentu koks, hash tabulas, utt., kā arī mācēt analizēt dažādu algoritmu izpildes laikus - "Big O notation" un vēl šādas tādas lietas.

Un tikai tad, kad cilvēks to māk pielietot, viņš var ķertie klāt mysql, jo savādāk nav nekādu iespēju, ka viņš tā pa īstam pareizi spēs izprast, kas ir indeksi kā un kāpēc tos lietot.

Otra lieta ir, ka arī informāciju jāmāk meklēt. Par indeksiem un to lietošanu var uzrakstīt kārtīgu grāmatu, tāpēc es šeit postā nevarēšu to izstāstī. Lai to mēģinātu saprast, kas protams, bez reālu apakšā esošo datu struktūru izpratnes varētu būt pagrūtāk, vajag meklēt informāciju, rakstī googlē "mysql index tutorial", "mysql indexes how to", utt... un lasīt, lasīt, eksperimentēt, lasīt un atkal eksperimentēt, līdz tas top skaidrs. Izlasīt vismaz 20-30 tutoriāļus un pamācības par šo tēmu, protams sākt ar pašu mysql dokumentāciju: http://dev.mysql.com...ql-indexes.html

Edited by codez
Link to comment
Share on other sites

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...