Archive for the 'mysql' Category
To MySQL-spørringer blir til en
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
Jukselapper – nyttig og lærerikt
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.
Tags og MySQL – en perfekt kombinasjon
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.

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:
Soundex fikser feilstaving
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.
Installer PHP og MySQL på 10 minutter
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!
