sql >> Databasteknik >  >> RDS >> Mysql

Hur man optimerar webbplatsdatabasen

Databas kan lagra en enorm mängd information – alla inlägg, sidor, kommentarer, menyer och alla former av textdata. Ju mer utvecklad webbplats du har, desto större är dess databas. Tillsammans med det kan databasen bli "belamrad" med onödiga föremål, som skräppostkommentarer, utkast, stängda eller tillfälliga filer, etc.

Självklart kan det resultera i att din webbplats presterar dålig hastighet och till och med resursöveranvändning av ditt cPanel-konto – ett antal MySQL-förfrågningar till en "tung" databas kan fastna i en kö som träffar ingångsprocesser och CPU-gränser. Det krävs alltså en ordentlig optimering för att involvera effektiviteten med vilken data hämtas från databasen.

Den här guiden visar dig flera sätt att uppnå detta mål.

1. Till att börja med måste du hitta databasen som är tilldelad din webbplats. Om du inte känner till dess namn, kolla gärna i din webbplatss konfigurationsfil:

CMS Sökväg till konfigurationsfilen Linje
WordPress installationsrotmapp, wp-config.php define('DB_NAME', 'cpuser_database');
Joomla installationsrotmapp, configuration.php public $db ='cpuser_database';
PrestaShop installationsrotmapp> >/config/settings.inc.php define('_DB_NAME_', cpuser_database');
OpenCart installationsrotmapp, config.php define('DB_DATABASE', 'cpuser_database');
Drupal installationsrotmapp> >/sites/default/settings.php 'database' => 'cpuser_database',
Moodle installationsrotmapp,config.php $CFG->dbname,='cpuser_database';
Magento installationsrotmapp> >/app/etc/local.xml <[! CDATA [cpuser_database] ]>
phpBB installationsrotmapp, config.php $dbname ='cpuser_database';


2. I vårt fall har vi en WordPress-baserad webbplats, vårt databasnamn är nctests_wp255 :



3. Innan du gör några ändringar rekommenderar vi starkt att du laddar ner säkerhetskopian av din databas. För att göra det, flytta till Filer avsnitt> Säkerhetskopiering meny:



4. Klicka på databasen i fråga i Ladda ner en säkerhetskopia av MySQL-databas menyn för att starta nedladdningen:



5. Nu kan du fortsätta med själva optimeringen. Navigera till Databaser avsnitt> phpMyAdmin meny:



6. Klicka på databasen i den vänstra menyn för att utöka listan över tabellerna:



7. Markera den önskade tabellen och välj Optimera tabell från rullgardinsmenyn som visas nedan:



8. På samma sätt kan du optimera flera tabeller samtidigt, eller alla med Markera alla alternativ:



9. Som ett resultat kommer du att få följande utdata:



10. Ett annat sätt att få din databas optimerad är att ta bort onödiga data. Det kan göras via SQL kommandoraden med följande fråga:

RADERA FRÅN $tabell där ;

där $table definierar namnet på tabellen som ska justeras och definierar de ändringar som ska utföras:



11. Låt oss titta närmare på det här alternativet och överväga hur det fungerar.

Anta att du behöver ta bort alla inlägg som innehåller något nyckelord, bör följande kommando användas:

RADERA FRÅN 'tabell'
WHERE 'kolumn' som '%keyword%
'

OBS: du måste byta ut tabell och kolumn med de faktiska värdena för din databas.

För att göra det, gå till tabellen som innehåller inlägg från din webbplats och hitta motsvarande kolumn. I vårt fall är det wp9x_posts och posts_title kolumn:



Nedan kan du se den sista varianten av vårt kommando:

RADERA FRÅN 'wp9x_posts'
VAR 'post_title' som '%test%'




När du trycker på Kör , alla inlägg som har 'test' ord i deras titel kommer att tas bort.

Utdata kommer att se ut så här:



12. Om du vill ta bort inläggen för den angivna perioden, använd gärna detta:

RADERA FRÅN 'tabell'
WHERE 'kolumn' mellan 'datefrom' och 'dateto '


Återigen, tabell och kolumn bör ersättas med de faktiska värdena samt datefrom och dateto .

OBS: du måste ange exakt datum och tid som kan slås upp i databasen.



Vårt sista kommando är:

RADERA FRÅN 'wp9x_posts'
WHERE 'post_date' mellan '2015-06-24 19:48:14' och '2016-07-20 23:27:23'


13. Anta att du behöver ta bort kommentarerna från en viss användare. Här är kommandot att använda:

DELETE FROM 'table'
WHERE 'column' ='användarnamn'


vilket i vårt fall är:

RADERA FRÅN 'wp9x_comments'
WHERE 'comment_author' ='test_user'


eller om du behöver ta bort inlägg med en viss status:

RADERA FRÅN 'tabell'
WHERE 'column' ='status'


vilket i vårt fall är:

RADERA FRÅN 'wp9x_posts'
WHERE 'post_status' ='stängd'


Samma läge fungerar för alla andra tabeller, kolumner och databaser, du behöver bara ställa in motsvarande värden. Du kan också hänvisa till MySQL-dokumentationen för att lära dig mer om möjliga manipulationer och MySQL-syntax.


Det är det!

              
                      Behöver du hjälp? Kontakta vår HelpDesk


  1. MySQL - UPPDATERINGSfråga baserad på SELECT-fråga

  2. MySQL-jämförelse med nullvärde

  3. PSQL kommandoradsargument i DO-skript

  4. Schema Switch-A-Roo:Del 2