Cum pot adăuga indexuri în baza de date WordPress?

21 mai 2012, 20:38:35
Vizualizări: 17.3K
Voturi: 1

Am primit un mesaj de la Hostgator despre suspendarea contului meu din cauza încărcării pe serverele lor. Aceasta este a cincea oară când se întâmplă acest lucru. Sunt pe un server partajat.

Și au spus că problema ar putea fi rezolvată prin simpla adăugare de noi indexuri în baza de date sau prin optimizarea bazei de date folosind alte tehnici. Am folosit interogări SQL și opțiunea "optimize" în phpMyAdmin pentru a optimiza baza mea de date, dar asta nu a ajutat.

De asemenea, am instalat Super Cache așa cum au recomandat, dar nici acest lucru nu a ajutat.

Acum, vreau să încerc să adaug indexuri în baza de date. Cum pot face acest lucru? Știe cineva cum să fac asta, vă rog? Este urgent.

Mulțumesc.

1
Comentarii

Pentru a optimiza interogările, trebuie mai întâi să știi ce interogări sunt executate. Începe prin a instala pluginul Debug Bar, încarcă o pagină problematică, apoi dă clic pe link-ul Debug din colțul din dreapta sus al bării de administrare. Va trebui de asemenea să adaugi define('SAVEQUERIES', true); în fișierul tău wp-config.php. Acest lucru îți va permite să vezi ce interogări au loc și cât timp le ia să se execute.

Otto Otto
22 mai 2012 00:11:31
Toate răspunsurile la întrebare 3
7

Baza de date WordPress este deja indexată. Consultați acest articol din codex pentru o listă detaliată a indexurilor pe tabel: http://codex.wordpress.org/Database_Description

Și chiar dacă nu ar fi fost, ar fi trebuit să știți ce interogări sunt executate pentru a adăuga eficient indexuri. Adică, nu ar exista o soluție rapidă - ar trebui să învățați cum funcționează indexarea, să identificați ce interogări au performanțe slabe și să continuați de acolo.

Dacă într-adevăr aveți probleme cu interogări lente, cel mai probabil acestea sunt cauzate de un plugin sau o temă prost scrisă pe care o utilizați. Încercați să dezactivați toate pluginurile și să treceți la tema implicită, pentru a vedea cum afectează performanța. Dacă site-ul dvs. este încă prea solicitant pentru gazda shared (cu tema implicită și fără pluginuri active), trebuie să vă mutați la alt furnizor de hosting.

21 mai 2012 22:11:02
Comentarii

Cred că știe că deja este indexat, dar nu este indexat suficient de bine. Să zicem că meta_value nu este indexat și aproape toate site-urile cu căutare personalizată folosesc căutarea în acele câmpuri care nu sunt indexate, așa că este lent. Așadar, dacă încerci să spui că WP a făcut o treabă bună la acest capitol - nu sunt de acord. Desigur, nu putem vedea în ce câmpuri caută acest tip, lucru care ne-ar fi de ajutor.

Tommixoft Tommixoft
21 mai 2012 22:14:06

Din sunetul întrebării sale, nu cred că știe asta. Sună de parcă speră că există vreo comandă "adaugă indecși" pe care o poți rula pentru a îmbunătăți performanța, iar eu încerc să explic că este mai complicat de atât. Trebuie să își înțeleagă interogările înainte de a decide dacă le poate îmbunătăți performanța sau nu cu indecși suplimentari. Nu pare să fie în poziția de a face asta, deoarece el întreba literalmente cum să adauge indecși, nu CARE indecși să adauge sau de ce. Oricum, da, WordPress este indexat perfect bine pentru o instalare folosind tema implicită fără plugin-uri.

MathSmath MathSmath
21 mai 2012 22:56:31

Salut băieți, Mulțumesc pentru răspunsuri. Știam că WordPress este deja indexat pentru că gazda mea a spus, "Rezolvarea acestei situații poate fi la fel de simplă precum adăugarea de indecși suplimentari la baza ta de date, optimizarea interogărilor folosite, sau ceva la fel de ușor." "Indecși suplimentari" a fost expresia pe care au folosit-o. Oricum, de fapt este post-new.php (pentru articole) care a cauzat problema de încărcare mare. Oricând dau click pe "Adaugă nou", se încarcă la nesfârșit (cu un ecran alb, gol) și apoi trebuie să închid tab-ul și să încerc din nou până când se deschide pagina. Cum pot rezolva asta cu mai mulți indecși? Mulțumesc.

Sosthenes Kwame Boame Sosthenes Kwame Boame
21 mai 2012 23:41:04

Site-ul are puțin peste 8.000 de articole și primește aproximativ 2000 de vizitatori pe zi, care vizualizează pagina de aproximativ 5.000-8.000 de ori zilnic. Dimensiunea bazei de date este de aproximativ 66 MB. Doar împărtășesc aceste informații în caz că au vreo relevanță.

Sosthenes Kwame Boame Sosthenes Kwame Boame
21 mai 2012 23:44:06

@KwameBoame Nu știi dacă POȚI rezolva cu mai mulți indecși. Indexarea nu este soluția pentru toate problemele legate de MySQL, iar dacă nu știi care este exact problema ta, nu știi dacă indecșii suplimentari o vor rezolva. S-ar putea să nu aibă nicio legătură cu MySQL deloc - ar putea fi o buclă defectuoasă într-un plugin care face ca o interogare perfect bună să ruleze de prea multe ori. Cine știe. Dacă gazda ta este sigură că este o problemă cu una dintre interogările tale, cere-le să activeze "jurnalizarea interogărilor lente" și să-ți ofere jurnalul. Între timp, aș sugera din nou să dezactivezi toate plugin-urile pentru a vedea dacă asta rezolvă problema.

MathSmath MathSmath
22 mai 2012 01:17:19

@MathSmath mulțumesc pentru sugestie. A funcționat. Plugin-ul Super Cache a fost cel vinovat. A făcut ca post-new.php să facă câteva sute de interogări până când a expirat timpul. Acum, trebuie să caut un plugin de caching mai bun. Mulțumesc pentru ajutor, prietene.

Sosthenes Kwame Boame Sosthenes Kwame Boame
23 mai 2012 10:50:31

@KwameBoame Nici o problemă. Mă bucur că ai reușit să rezolvi! Poți, te rog, să marchezi răspunsul meu ca acceptat? Mulțumesc!

MathSmath MathSmath
23 mai 2012 19:30:13
Arată celelalte 2 comentarii
2

Cred că ți-au oferit o soluție foarte generală la o problemă mai specifică. WordPress folosește multiple tabele pentru a interoga articole/pagini/etc. Nu sunt sigur dacă chiar ar trebui să adaugi noi indecși. Aș începe prin a pune site-ul în modul de întreținere și a testa pagina cu pagină. Trebuie să descoperi care pagină/pagini rulează interogări foarte mari și să le oprești, să le paginezi sau să le schimbi. Cealaltă posibilitate este că ai construit de fapt un site de succes, și nicio optimizare din lume nu îți va oferi mai multă lățime de bandă. Poate fi nevoie să aloci mai mulți bani și să obții un server dedicat. Dacă acest lucru nu este posibil, din nou, trebuie să minimizezi numărul de interogări la baza de date pe care le faci.

21 mai 2012 21:18:19
Comentarii

Am înțeles și sunt parțial de acord. Ar trebui să poată rula site-ul său fără a provoca o suprasolicitare a serverului; dar din nou, ai putea literalmente avea prea mulți vizitatori pe site (ceea ce este un lucru bun) și să fie nevoie să faci upgrade la pachetul economic. Indexarea WordPress este suficient de bună pentru a rula un site destul de mare fără probleme; dar din nou, asta depinde de plugin-urile care fac query-uri și de temă. De asemenea, dacă ai 100 de plugin-uri instalate și activate, asta nu va ajuta. Calea ușoară: faceți upgrade de la hosting-ul economic. Calea grea: dezactivați plugin-urile și optimizați query-urile.

Aaron Bell Aaron Bell
21 mai 2012 22:23:55

@AaronBell, Bună, te rog să vezi răspunsul meu de mai sus (către Tommix și Mathsmath) și să vezi dacă există o modalitate de a-mi repara site-ul. Mulțumesc.

Sosthenes Kwame Boame Sosthenes Kwame Boame
21 mai 2012 23:45:47
1

Vă recomand să folosiți pluginul http://wordpress.org/extend/plugins/wp-super-cache/ dacă site-ul vostru nu este foarte dinamic. Și se schimbă o dată pe zi, să zicem. Acest plugin creează fișiere statice din conținut dinamic, astfel încât aproape elimină interogările la baza de date. (puteți alege ce nu ar trebui să fie cache-uit). Face site-ul extrem de rapid. [DAR faceți o copie de rezervă înainte de instalare]

Aici am făcut o poză cum să faceți un câmp indexat http://s10.postimage.org/wxjn9u2uh/index.jpg DAR - NU TOATE CÂMPURILE pot și trebuie să fie indexate. Câmpul indexat trebuie să aibă o dimensiune specifică. Și indexarea trebuie făcută pe câmpuri pe care le interogați frecvent.

21 mai 2012 21:12:29
Comentarii

OP spune că a încercat deja să folosească Super Cache și nu a rezolvat problema.

mrwweb mrwweb
21 mai 2012 23:18:13