Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


"Spara data ibland"

Postades av 2005-07-12 08:46:14 - Niklas Jansson, i forum mysq, Tråden har 4 Kommentarer och lästs av 754 personer

Jag är helt grön på SQL, men jag hade tänkt lära mig det nu. Kan grundläggande konstruktioner i SQL, och jag har hyfsad koll på hur man bygger databaser på ett normaliserat sätt. Sitter med MySQL.

Nu har jag en fundering hur man kan lösa följande (det är inte något skarpt än, utan bara mina funderingar):

Låt säga att jag bygger ett system där personer kan skicka in nyheter. Det kan till exempel vara vissa händelser. En nyhet består naturligtvis av en rubrik, en brödtext och ett inläggningsdatum, och ett lämpligt sätt att presentera dem är att visa de fem senast inlagda. Det blir väl i så fall något i stil med

"SELECT * FROM news ORDER BY date LIMIT 5"

Eller?

Om vi nu tänker oss att nyheterna även har ett "utgångsdatum"; om en nyhet handlar om något som händer den 5:e juli så ska nyheten bara gälla tills den 5:e. Jag kan naturligtvis lägga till en
"WHERE utgang<today", eller hur man nu skulle skriva det, men då blir det ju en extra operation varje gång.

Mina frågor är då som följer:
1. Finns det något vettigt sätt att lösa ovanstående problem, något i stil med att ha en annan tabell som visar alla nyheter som inte gått ut, och uppdatera denna en gång om dagen.
2. Hur gör man det bäst i så fall (själva "en gång om dagen")?
3. Är det meningsfullt att tänka på det här sättet överhuvudtaget?


Svara

Sv: "Spara data ibland"

Postades av 2005-07-12 09:39:00 - Johan Djupmarker

<b>1. Finns det något vettigt sätt att lösa ovanstående problem, något i stil med att ha en annan tabell som visar alla nyheter som inte gått ut, och uppdatera denna en gång om dagen.</b>

Givetvis kan man göra så, men du får redundant data vilket inte är så kul... Where-satsen kostar inte så mycket att det är värt besväret. Om det ska vara meningsfullt måste det handla om ett hårt belastat system där man ligger väldigt nära gränsen för vad hårdvaran klarar av i prestanda.

<b>2. Hur gör man det bäst i så fall (själva "en gång om dagen")?</b>

Tror inte att man kan schemalägga något sådant direkt i MySQL, man får göra ett program eller script som man schemalägger på servern i sådana fall. Ett annat alternativ kan vara en trigger som uppdaterar varje gång en nyhet ändras eller läggs till, men jag vet inte hur det är med stöd för triggers i MySQL.

<b>3. Är det meningsfullt att tänka på det här sättet överhuvudtaget?</b>

Enligt min mening: Nej

/Johan


Svara

Sv:"Spara data ibland"

Postades av 2005-07-12 09:53:20 - Niklas Jansson

<b>>Givetvis kan man göra så, men du får redundant data vilket inte är så kul...</b>
Utveckla gärna!
Vad kan det finnas för problem med extra data; bara onödiga platskrav, eller finns det mer fundamentala grejer som blir problematiska?

<b>>Where-satsen kostar inte så mycket att det är värt besväret. Om det ska vara meningsfullt måste det handla om ett hårt belastat system där man ligger väldigt nära gränsen för vad hårdvaran klarar av i prestanda.</b>
Ja, det är klart, det här är ju ett väldigt "lätt" exempel.

<b>>Tror inte att man kan schemalägga något sådant direkt i MySQL, man får göra ett program eller script som man schemalägger på servern i sådana fall. Ett annat alternativ kan vara en trigger som uppdaterar varje gång en nyhet ändras eller läggs till, men jag vet inte hur det är med stöd för triggers i MySQL.</b>
Okej, låt säga att jag har Apache och PHP installerat, det borde inte gå enbart med dem, eller?

Måste börja tänka någonstans... =)


Svara

Sv: "Spara data ibland"

Postades av 2005-07-12 10:09:23 - Johan Djupmarker

<b>>Givetvis kan man göra så, men du får redundant data vilket inte är så kul...
Utveckla gärna!
Vad kan det finnas för problem med extra data; bara onödiga platskrav, eller finns det mer fundamentala grejer som blir problematiska?</b>

Inte några större problem i detta exemplet förvisso, men har man samma information lagrat på flera ställen och man sedan börjar göra förändringar är det lätt att glömma ändra på ett ställe. Tekniskt sett är det inga problem (förutom utrymmesbehovet då), men det är lätt att göra bort sig så att man tror att man har ändrat något som man egentligen inte har gjort. Om du ändrar en nyhet i din "dagtabell" och glömmer ändra i "orginalet" kommer ju förändringen försvinna nästa gång tabellen uppdateras.

<b>>Where-satsen kostar inte så mycket att det är värt besväret. Om det ska vara meningsfullt måste det handla om ett hårt belastat system där man ligger väldigt nära gränsen för vad hårdvaran klarar av i prestanda.
Ja, det är klart, det här är ju ett väldigt "lätt" exempel.</b>

Jag har inga djupare kunskaper i "kostnaden" för olika operationer, men jag har aldrig varit med om att urvalen tar speciellt mycket tid när man gör en del annat samtidigt.

<b>>Tror inte att man kan schemalägga något sådant direkt i MySQL, man får göra ett program eller script som man schemalägger på servern i sådana fall. Ett annat alternativ kan vara en trigger som uppdaterar varje gång en nyhet ändras eller läggs till, men jag vet inte hur det är med stöd för triggers i MySQL.
Okej, låt säga att jag har Apache och PHP installerat, det borde inte gå enbart med dem, eller?</b>

Jag har inte hört att det skulle finnas någon schemaläggare i varken Apache eller PHP, så det går nog inte.

/Johan


Svara

Sv:"Spara data ibland"

Postades av 2005-07-12 10:37:10 - Niklas Jansson

<b>>Om du ändrar en nyhet i din "dagtabell" och glömmer ändra i "orginalet" kommer ju förändringen försvinna nästa gång tabellen uppdateras.</b>
Ja, det är ju sant förstås, och ändrar jag i originalet så kommer ju inte den ändringen upp i "dagtabellen" förrän nästa dag.

<b>>Jag har inte hört att det skulle finnas någon schemaläggare i varken Apache eller PHP, så det går nog inte.</b>
Okej, då skippar jag det ur tänket tills vidare.

Tackar för bra svar, skönt att få vädra tankarna lite! =)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 532
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies