sql >> Database >  >> RDS >> Mysql

De websitedatabase optimaliseren

Database kan opslaan een enorme hoeveelheid informatie - alle berichten, pagina's, opmerkingen, menu's en elke vorm van tekstgegevens. Hoe meer ontwikkelde site u heeft, hoe groter de database is. Daarnaast kan de database 'rommelig' raken met onnodige items, zoals spamcommentaar, concepten, gesloten of tijdelijke bestanden, enz.

Natuurlijk kan dit resulteren in slechte snelheidsprestaties van uw website en zelfs overmatig gebruik van bronnen van uw cPanel-account - een aantal MySQL-verzoeken aan een 'zware' database kunnen vastlopen in een wachtrij raakt invoerprocessen en CPU-limieten. Er is dus een goede optimalisatie nodig om de efficiëntie waarmee gegevens uit de database worden opgehaald te betrekken.

Deze handleiding laat je verschillende manieren zien om dit doel te bereiken.

1. Om te beginnen moet u de database vinden die aan uw website is toegewezen. Als je de naam niet weet, kijk dan gerust in het configuratiebestand van je website:

CMS Pad naar het configuratiebestand Lijn
WordPress installatiehoofdmap, wp-config.php define('DB_NAME', 'cpuser_database');
Joomla installatiehoofdmap, configuration.php public $db ='cpuser_database';
PrestaShop installatiehoofdmap> >/config/settings.inc.php define('_DB_NAME_', cpuser_database');
OpenCart installatiehoofdmap, config.php define('DB_DATABASE', 'cpuser_database');
Drupal installatiehoofdmap> >/sites/default/settings.php 'database' => 'cpuser_database',
Moodle installatiehoofdmap,config.php $CFG->dbname,='cpuser_database';
Magento installatiehoofdmap> >/app/etc/local.xml <[! CDATA [cpuser_database] ]>
phpBB installatiehoofdmap, config.php $dbname ='cpuser_database';


2. In ons geval hebben we een op WordPress gebaseerde website, onze databasenaam is nctests_wp255 :



3. Voordat u wijzigingen aanbrengt, raden we u ten zeerste aan de back-up te downloaden van uw databank. Ga hiervoor naar Bestanden sectie> Back-up menu:



4. Klik op de betreffende database in Download een MySQL-databaseback-up menu om de download te starten:



5. Nu kunt u doorgaan met de optimalisatie zelf. Navigeer naar Databases sectie> phpMyAdmin menu:



6. Klik op de database in het linkermenu om de lijst met tabellen uit te vouwen:



7. Vink de benodigde tabel aan en selecteer Tabel optimaliseren uit het vervolgkeuzemenu zoals hieronder weergegeven:



8. Op dezelfde manier kunt u meerdere tabellen tegelijk optimaliseren, of allemaal metAlles aanvinken optie:



9. Als resultaat krijgt u de volgende uitvoer:



10. Een andere manier om uw database te optimaliseren, is door de onnodige gegevens te verwijderen. Het kan worden gedaan via SQL opdrachtregel met de volgende vraag:

DELETE FROM $table waar ;

waar $table definieert de naam van de tabel die moet worden aangepast en definieert de wijzigingen die moeten worden uitgevoerd:



11. Laten we deze optie eens nader bekijken en nagaan hoe het werkt.

Stel dat je alle berichten die een sleutelwoord bevatten moet verwijderen, dan moet het volgende commando worden gebruikt:

VERWIJDER UIT 'tabel'
WAAR 'kolom' zoals '%keyword%
'

OPMERKING: je moet tabel vervangen en kolom met de werkelijke waarden van uw database.

Om dit te doen, gaat u naar de tabel die berichten van uw website bevat en zoekt u de bijbehorende kolom. In ons geval is dat wp9x_posts en posts_title kolom:



Hieronder ziet u de laatste variant van onze opdracht:

VERWIJDER UIT 'wp9x_posts'
WAAR 'post_title' zoals '%test%'




Zodra je op Go drukt , alle berichten die 'test' . hebben woord in hun titel wordt verwijderd.

De uitvoer ziet er als volgt uit:



12. Als u de berichten voor de opgegeven periode wilt verwijderen, kunt u deze gebruiken:

VERWIJDEREN UIT 'tabel'
WAAR 'kolom' tussen 'datefrom' en 'dateto '


Nogmaals, tabel en kolom moet worden vervangen door de werkelijke waarden en ook door datefrom en dateto .

OPMERKING: u moet de precieze datum en tijd opgeven die in de database kunnen worden opgezocht.



Onze laatste opdracht is:

VERWIJDEREN UIT 'wp9x_posts'
WAAR 'post_date' tussen '2015-06-24 19:48:14' en '2016-07-20 23:27:23'


13. Stel dat u de opmerkingen van een bepaalde gebruiker moet verwijderen. Hier is het commando dat je moet gebruiken:

DELETE FROM 'table'
WHERE 'column' ='username'


wat in ons geval is:

VERWIJDEREN VAN 'wp9x_comments'
WAAR 'comment_author' ='test_user'


of als u de berichten met een bepaalde status moet verwijderen:

VERWIJDEREN UIT 'tabel'
WAAR 'kolom' ='status'


wat in ons geval is:

VERWIJDER UIT 'wp9x_posts'
WAAR 'post_status' ='gesloten'


Dezelfde modus werkt voor alle andere tabellen, kolommen en databases, u hoeft alleen de bijbehorende waarden in te stellen. Je kunt ook de MySQL-documentatie raadplegen voor meer informatie over mogelijke manipulaties en MySQL-syntaxis.


Dat is het!

              
                      Hulp nodig? Neem contact op met onze HelpDesk


  1. Waarom mislukt het uitvoeren van deze query met EXECUTE IMMEDIATE?

  2. MySQL relationele databases gebruiken op Fedora 13

  3. Aan de slag met Postgres 13 op Ubuntu 20.04

  4. Verander databaseresultaat in array