Hoppa till innehåll

Etikett: MySQL

Clean out unwanted comments.

I had some kind of issue with my spam filter, and my database was filled with like 6000 pages of spam (30 per page, so round 180 000 spam comments). And the thing is, that they take up a LOT of data space. I started to sort them out using the Drupal UI, but later found that the database still was rather large (~150 MB compressed). I took a look in the database and found that the data values where still there, altough I’ve removed the linkage of the comment from the nodes. So i still had these ~ 200 000 spam comments.

Well, I have plenty of backups, and altough 150 MB isn’t that much it becomes quite a lot in time – so I wanted to remove the data values in the database too, and here’s how you do it:

 

The table ”comment” contains the ”visible” comments. It also contains a comment id (cid). The two tables ”field_data_comment_body” and ”field_revision_comment_body” contains the full comments. These are the rows we want to remove. the table ”comment” shows only the comment which I’ve already ”deleted”, but the other two still has the comments and use a lot of space. So by a simple MySQL Query, they will be gone, by using the cid’s from ”comment”.

I use phpMyAdmin, and chose the database of this site, and clicked the mysql button, then pasted this and ran it:

Delete from field_data_comment_body:
DELETE FROM field_data_comment_body
WHERE entity_id NOT IN
       (SELECT cid
        FROM comment
        WHERE cid is NOT NULL
      )

 

And then from field_revision_comment_body:
DELETE FROM field_revision_comment_body
WHERE entity_id NOT IN
       (SELECT cid
        FROM comment
        WHERE cid is NOT NULL
      )

 

What is does? Well, it removes all the rows from the field_*_comment_body tables that does not have a entity_id that corresponds with the cid from the comment table.

As easy as that! Now you only have the comments which you agreed to using the Drupal UI. And my compressed database backup as shrunk to 15MB(!).

Kommentarer är stängda

Microsoft har lärt sig att sälja glass på sydpolen.

Jag har nyligen börjat med en kurs i databashantering och jag känner mig faktiskt lite missnöjd redan.

Vad är det vi får lära oss? – MS SQL.
Vad är det vi ska använda tillsammans med det? – Access 2007.

Frågan som jag ställer mig är då alltså varför vi inte får lära oss en ännu mer etablerad databas som tex MySQL eller PostgreSQL. Ett viktigt faktum till detta är också att det finns en större usträckning av proffesionell mjukvara att hantera dessa mjukvaror. Både databasen och dess hanterare är dessutom OpenSource.

MySQL – phpMyAdmin.
Men man kan även använda öppen källkods-motsvarigheten till Access, OpenOffice.org Database som förvisso kan hantera MS SQL, men även MySQL och PosgreSQL (mfl.)

Öppen källkod, gratis och fantasisk hantering borde väl komma längre än vad en svindyr licens för Microsofts Office-paket gör.

När Sun ägde MySQL så kunde man köpa till support för en smärre summa. Annars kunde man iallfall använda det till dess fulla kapacitet. Att skolor, statliga verksamheter och företag skulle kunna komma längre med en öppen källkods, gratis och kontinuerligt uppdaterande ser jag som självklart!

Men det skulle kunna vara på god väg då det i nyheterna skrivs om att ett tjugotal kommuner i västsverige har börjat göra en storsatsning på öppen källkod. Det är offantliga summor som lagts ut av våra skolor i form av licenser. Dessutom för något som jag inte tyckt fungerat speciellt bra i varken säkerhet eller utförande aspekt.

I dagens läge så har alltså Microsoft varit så etablerade, eller pressande så att skolor och företag inte kunnat se något annat – förutom de som har något större medvetande om bla servar. Jag vet tex att gymnasiet jag gick på körde Novell som sina servar. – och har valt de dyra alternativen istället.
Givetvis har inte öppen källkod varit speciellt redo för skrivbordet förens de senaste åren, men det är verkligen dags att se över detta och andra kommuner borde följa västsveriges fina exempel.

Microsoft har tekniskt sett skapat en mjukvara som de tagit ut enorma summor för, satt en standard med och fått utbildningar att följa så att de ska kunna bli än mer etablerade och tjäna ännu mer pengar och helt enkelt fått ett monopol.

Microsoft har lärt sig att sälja glass på sydpolen.

Kommentarer är stängda