Archive for the 'mysql' Category

Når man viser søketreff på en nettside, er det vanlig å dele lange resultat over flere sider. I 1001 Spill-koden har dette blitt gjort med to søk.

  • Et søk som teller antall mulige treff med select count(*)
    ex: SELECT COUNT(*) FROM docs
  • Et søk som henter de 10 treffene som skal vises på siden med hjelp av limit.
    ex: SELECT * FROM docs LIMIT 10,20

Dette kan være ineffektivt om du har en tung sql, da det samme tunge søket gjøres to ganger.

I MySQL 4.0.0 kan dette løses med SQL_CALC_FOUND_ROWS som får MySQL til å telle antall treff også i et LIMIT-begrenset søk. Antall rader må deretter hentes ut med SELECT FOUND_ROWS();

Eks:

SELECT SQL_CALC_FOUND_ROWS * FROM docs LIMIT 10,20;

SELECT FOUND_ROWS();

Husk at SELECT FOUND_ROWS() må kjøres rett etter selve spørringen, ellers er resultatet tapt.

Kilde: MySQL: Get total number of rows when using LIMIT

Les også: MySQL: Information Functions

posted by andreeide November 21, 2006 9:59 am     |     read comments (0)

Her er jukselappene du skulle ønske du hadde på eksamen.

Selv etter mange års programmering, kan man fort gå glipp av nyttige triks og funksjoner. Skum gjennom disse lekre sammendragene, og se om du kjenner til alle språk og syntaksers mest nyttige finesser.

posted by andreeide May 30, 2006 7:52 am     |     read comments (0)

Tags er nyttig, kraftig og enkelt og implementere i MySQL.

Del.icio.us var mitt første møte med tags, og demonstrerer på en glimrende måte fleksibiliteten og mulighetene ved denne metoden.
tags_del_icio_us.gif
Her er tags-feltet et vanlig tekstfelt hvor brukerene selv kan benytte sine egne ord og begreper.

Implementasjonen av en slik løsning er meget enkel. Les Philip Kellers utmerkede artikler om emnet:

posted by andreeide May 9, 2006 8:40 am     |     read comments (0)

En stor del av søkene på et nettsted er feilstavet. Hvis din søkemotor håndterer feilstaving dårlig, kan du sjekke ut Soundex-algoritmen.

Soundex ble pønsket ut for snart 90 år siden og er like genial som enkel. I tillegg er den ferdig implementert for Java, PHP, MySQL, og sikkert alle andre språk eller databaser du måtte bruke.

Selv har jeg brukt MySQLs innebygde funksjon med stor suksess, og kan for eksempel gi treff når folk søker etter “bakkamom”, “backammon” eller “bakamon” med følgende enkle SQL-setning:

SELECT * FROM categories where soundex(title) = soundex('bakamon')

Wikipedia her en fin beskrivelse av Soundex-algoritmen. Den perfekte sengelektyre for enhver webmaster.

posted by andreeide April 17, 2006 7:59 am     |     read comments (0)

Lyst til å teste ut PHP og MySQL, men ikke tid til å følge tunge installasjonsbeskrivelser?

Sjekk ut XAMPP!

En genial installasjonspakke med alt du trenger. Finnes til Windows, Linux, Mac OS X og Solaris. Så da er det bare å sette i gang å kode PHP. Lykke til!

posted by andreeide April 7, 2006 11:36 pm     |     read comments (1)