Lage indexer i mysql med MAMP

Jeg har ikke funnet noen måte å lager indexer på i Sequel Pro, og med det har jeg alternativet klart; i terminalen.

Antagelsen er at mysql kjører i MAMP på OSX (10.5.8).

Åpne terminalen.
Skriv inn

/Applications/MAMP/Library/bin/mysql -uroot -p

kvitter med root-passordet som ut-av-boksen er root.

Velg en database:

mysql> use tabellnavn;

Vis tabellene i databasen (fint å vite hva som finnes):

mysql> show tables;

Sjekk om tabellen har en index:

mysql> show indexes from 2009analyse_int;

Lag en index

mysql> CREATE INDEX minNye_index ON tabellnavn(kolonne_du_vil_lage_index_på);

Done.

PS – Note to self: Behovet for indexer dukket for min del opp når jeg skulle hente ut ca 75.000 rader fra en tabell over nettartikler, hvorav noen var duplikater. For å hente ut kun én linje per unike url gjorde jeg følgende spørring:

SELECT *, COUNT(unik_id) AS duplikat
FROM min_fine_tabell
GROUP BY unik_id
ORDER BY duplikat DESC;

Da kommer duplikatene (med antall større enn 1) øverst, følger alle som er unike.

Skrevet av

Eirik

Poster av denne "forfatteren" er fra min gamle blogger-blog. (men også den jeg stadig er logget inn med..)

2 kommentarer til «Lage indexer i mysql med MAMP»

  1. Bruk heller PhpMyadmin enn alle de crappy MySql-desktopklientene. Ingenting i MySQL-verden som er i nærheten av hvor uunværlig TOAD er på Oracle-plattformen.


    SELECT unik_id, COUNT(unik_id) AS duplikat
    FROM min_fine_tabell
    GROUP BY unik_id
    HAVING COUNT(unik_id) > 1
    ;

  2. Hei Harald, takk for kommentar.
    Jeg misliker PhpMyadmin sterkt. Det er treigt og klønete. Ingen hurtigtaster. Har ingen Oracle-baser her.

    Spørringen din henter kun ut de som er duplikater, ikke alt; som jeg trengte. Men den fuker til sitt bruk.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *