戻ってください

Optimering av databaser

Vi använder servrarna. MariaDB som är en mycket bra utveckling av servrar MySQL, och ändrar ingenting i fråga om databaskompatibilitet MySQL till MariaDB. Med MariaDB, föreslås konvertera tabeller MyISAM till det nya Aria-formatet, eftersom det ger bättre motstånd mot kraschen, och lite snabbare. Konvertering till innoDB är det andra alternativet.

Konvertera tabeller är en mycket primär uppgift för optimering av databaser, den verkliga optimeringen är att ha index i din databas, och detta är svårt att få tillgång till i befintliga CMS, men tillgängliga för tredjepartsmoduler som du har köpt (föreslå editorn för att optimera deras modul). För anpassade webbplatser kan endast en erfaren databasspecialist eller webbmaster göra detta tekniskt svåra arbete... Se även de specialiserade online-handböckerna.

Innan du konverterar, prova phpmyadmin -funktioner i den här ordningen genom att välja alla tabeller i en bas: Kontrollera tabellen, fixa tabellen, optimera tabellen...

Den första idén är att hitta stora tabeller i en stor databas MB, men även de som innehåller många rader: sortera dina bord från phpmyadmin om du cpanel för att göra en spårning.

Om dess storlek är motiverad, dvs. inte för logar/cache eller liknande, i vilket fall de ska tömmas regelbundet.

Om inget fall påverkar din databas och problemet kvarstår, då problemet förmodligen kommer från utformningen av databasen eller några tabeller relaterade till plugins, eller din PHP -kod är inte heller bra...

 

Hur man konverterar tabeller MyISAM till Aria eller InnoDB?

Att konvertera /ex alla MyISAM befintliga till InnoDB. Sedan dess phpmyadmin klicka vänster på din databas och klicka sedan på SQL upp... Klistra in det här nedan och sedan 'Kör'

SELECT CONCAT (' ALTER TABLE ', TABLE_NAME,' ENGINE = InnoDB;') 

FROM INFORMATION_SCHEMA. TABLES

WHERE ENGINE =' MyISAM '

 

Det standardresultat som visas med korta texter, så det är absolut nödvändigt att gå över i '+ Alternativ', klicka 'full text' och få det här i exemplet:

ALTER TABLE ps_ carrier ENGINE = InnoDB;

ALTER TABLE ps_ expressmailing ENGINE = InnoDB;

ALTER TABLE ps_ expressmailing_ email ENGINE = InnoDB;

ALTER TABLE ps_expressmailing_email_accountdates ENGINE = InnoDB;

ALTER TABLE ps_ expressmailing_ email_ birthdays ENGINE = InnoDB;

ALTER TABLE ps_ expressmailing_ email_ buyingdates ENGINE = InnoDB;

ALTER TABLE ps_ expressmailing_ email_ categories ENGINE = InnoDB;

ALTER TABLE ps_expressmailing_email_civilities ENGINE = InnoDB;

Gör nu en kopia av ovanstående uppsättning och klistra in den i SQL, sedan Executer, och konverteringen är klar!

 

Rekommenderat och prioriterat:

Om du får MariaDB som hos YOORshop, föreslår vi att konvertera tabeller MyISAM en databas till ARIA (Detta format är anti-krasch och mer effektivt):

SELECT CONCAT (' ALTER TABLE ', TABLE_NAME,' ENGINE = ARIA;') 

FROM INFORMATION_SCHEMA. TABLES

WHERE ENGINE =' MyISAM '

 

Att konvertera tabeller InnoDB en databas till ARIA:

SELECT CONCAT (' ALTER TABLE ', TABLE_NAME,' ENGINE = ARIA;') 

FROM INFORMATION_SCHEMA. TABLES

WHERE ENGINE =' InnoDB '

 

Att konvertera tabeller ARIA en databas till InnoDB:

SELECT CONCAT (' ALTER TABLE ', TABLE_NAME,' ENGINE = InnoDB;') 

FROM INFORMATION_SCHEMA. TABLES

WHERE ENGINE =' ARIA '

 

För PrestaShop /ex, om din bas är stor utan anledning som viktig katalog, då kan du göra 'vidange', dessa tabeller prestashop kan tömmas utan några problem, se knappen 'bort':

ps_ connections

ps_ connections_ page

ps_ connections_source

ps_guest (den här länkas till statistikmodulen, och kommer att fyllas igen om du inte inaktiverar modulen)

ps_ pagenotfound

page_viewed

ps_ referrer_ cache

ps_ date_ rang

Ps_search_index + ps_ Research_word + pS_statssearch måste göras samtidigt, och sedan ombygg sökindexet i prestashop

Andra tabeller som är kopplade till moduler eller inte, och lagrar cache utan att någonsin tömning kan tömmas, se editorn. 

 

NB:

För att migrera till en annan mysql -server måste du konvertera Aria-tabellerna igen till innodb eller myslam

 

Export, alternativ:

avmarkera AUTO_INCREMENT

Redigera databasen med notepad+, och ta bort överallt TRANSACTIONAL =1

Importera basen, det bör inte finnas några fel... (MYSQL -format 40 kan hjälpa)