Verkkotunnus on siirtynyt WordPress on joitakin kipu. Viime aikoina olen saattanut tehdä useita näistä jo ja asiat tapahtuvat nopeasti urheilu 😀 . Jos en voi comarizona vaiheet 2 – tietenkin, ei siirtää tiedostoja, jos asetukset muuttaa kokonaan hosting.

1. Vaihda vanha URL-osoite uusi – täällä kaikki on triviaali. Avata wp-config.php tiedosto ja lisää seuraava 2 jotta

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Kuten samestate http://example.com uusi.

2. Täällä on jo hyvä, sivustosi avaa url-om työtä, mutta cecinato sisältöä, kuten valokuvia, välineitä ja ovat näin ollen ole näkyvissä. Nyt täytyy brutto häiriöitä. Sinun täytyy korvata vanhat url uusia levyjä tietokantaan. Se oli hirveän vaikea prosessi, varsinkin aloitteleville käyttäjille, ole hyvä SQL-syntaksi, но вече има доста приятен скрипт searchreplacedb2, joka tekee kaikesta hankalaa. Sen käyttö on triviaali – lataa se teidän root hakemistoon, jossa wordpress on sivu ja avata sitä kautta selaimen-ja. След това следвате стъпките като първо ще ви пита за потребителско име и парола който е взел от вашия wp-config.php и след това ще ви пита за новото и старото url. След последната стъпка ще се наложи да поизчакате при мен отнемаше средно 40сек -50сек.

Това е във общи линии нищо трудно или супер сложно.

Image representing MySQL as depicted in CrunchBase

Преди известно време бях писал за MySQL Full Text Search 🙂 Днес имах много интересно преживяване с една заявка. В общи линии заявката търси за резултати който липсват друга таблица. Един основне Select и един sub select в WHERE частта на заявката. В общи линии скелета и е

SELECT DISTINCT (
`field`
)
FROM `table1`
WHERE `someID` =44
AND `firsTextField` NOT
IN (

SELECT DISTINCT (
`secondTextField`
)
FROM `table2`
WHERE `otherID` =44
)

В общи линии елементарна заявка. Написах я за 30 сек пускам я и зацикли машината. След дълго и търпеливо чакане от моя страна или по точно ~43 сек . Ми се изплю резултат lol . Пффф лудница. Влизам в машината гледам процесора е нормално натоварен почти в idle състояние. Шок и ужас. Пускам пак заявката пак същия резултат. Fuck WTF. Пускам explain на заявката и всичко лъснавторото поле secondTextField е само full text search без index, а там табличката е скромна от около 35к реда. Кой да четеfull text search не е индекс. Вече е ясен проблема набързо едно

ALTER TABLE `links` ADD INDEX ( `linkUrlID` ) 

И нещата си дойдоха на местата Query took 0.0005 sec 😀

Внимавайте как си слагате индексите от тях ви зависи маргинално скоростта на заявката.

p.s Като цяло аз съм си крив за горната ситуация не само защото липсва индекс ами защото не ползва full text search метода 😀

Parannettu Zemanta

Tänään olen pelannut optimointi hidas SQL hakemus lomakkeella

SELECT * FROM 'table' WHERE `field` LIKE '%word%'

Missä on ongelma – viimeinen osa the ‘%word%’ ja vielä tarkempi merkki % ennen kuin sana, mitä teemme. Jokeri symboli % ,mitään arvoa, pyydämme suoraan käännettynä suoraan hidas, koska näin kysely ei estä meitä käyttämästä indeksit kentällä. Ratkaisu kuten aina on, mutta se ei ole aina selvää, 😆 Yleensä MySQL sinulla on ratkaisu tähän ongelmaan tekstihakuun indeksointi kentät. Koska on muutos laatikko paljon kirjoitettu dokumentointi, mutta voin lyhyesti kuvata, miten muuttaa tämän kyselyn, koska saamme pienen teatterin lopuksi. Teki miten soveltaa kokotekstihaku laatikko edellä, pyynnön on oltava muutoksiin tyyppi:

SELECT * FROM `table` WHERE MATCH (field) AGAINST ('word')

Siten rakenne on ilmeinen ja ei tarvitse turhaa keskustelua. Tämä kysely tulee voimaan, jos sana, jonka voit tehdä pyynnön, ainakin 4 merkkiä, oletusarvo, jos haluat muuttaa sitä, sinun on määritettävä arvo, която желаете в my.cnf в частта [tusdi] lausunto ft_min_word_len=3 tai 2, 1 не е добър избор очевидно 😉 . Kun haluat muuttaa arvoa ja käynnistä mysql-palvelin-sinun täytyy tehdä korjaus taulukoita, jotta uusi indeksi tuli voimaan. Täällä kaikki on selvää: Teen muutoksia, uudelleen, rebeldom indeksit ja tehdä pyyntö-ja - palautus 0 jotta 😀 Kuulla

SHOW VARIABLES

Näen, että arvot, Kysyin, tuli voimaan, rebeldom, indeksit – sama tulos. 🙄 Epämiellyttävä, erittäin epämiellyttävä. Täällä ja sitten alkoi yksi iso Rogaine ja naarmuja avain irtoa 😀, Joka oli hyvin, varsin mielenkiintoinen. Yleensä, Aloin lukea dokumentaatio, en tiedä, mitä polkua ja tuli mielenkiintoinen passage

Such a technique works best with large collections (itse asiassa, se oli huolellisesti viritetty tällä tavalla). Hyvin pienet pöydät, sana jakelu ei oteta riittävästi huomioon niiden semanttinen arvo, ja tämä malli voi joskus tuottaa outoja tuloksia. Esimerkiksi, vaikka sana "MySQL" on läsnä jokaisessa rivi artikkelit taulukko osoittanut aiemmin, etsi sana tuottaa mitään tuloksia

ГРЕДА 😳 Дам табличката ми беше малка – silti, se oli testi. Meidän kyselyt osaksi yksi iso pöytä, jossa on enemmän kuin 2 000 000 järjestys ja asioita tapahtumasta. No tämä on ilmeinen ongelma. Jotta ymmärtää päätöksen, Totean lyhyesti, mitä kokotekstihaku tuki 3 advanced-tilassa BOOLEAN , ILMAISUJA ja LUONNOLLINEN KIELI kuten viimeaikaiset toimii oletuksena. Eri tilat löytyvät asiakirjat, Selitän 2-3 sanat BOOLEAN, koska se on kaikki noin. Se tukee loogisia operaattoreita JA, TAI , EI, ja niin edelleen, ja voit tehdä erilaisia loitsuja suosittuja lauseita, siellä, ei toinen ja niin edelleen. Tukee ja symbolit *, vastaa yleismerkkejä % 😉 Tämä on hyödyllistä, kun etsit sanaa alla koko ft_min_word_len tai pienet lokerot ;). Ainakin minulla on pöydän ympärillä 100 linjat ovat täydellisiä. Sinä vain täytyy nähdä täytetty hakemus:

SELECT * FROM `table` WHERE MATCH (field)
AGAINST ('*word*' IN BOOLEAN MODE)

Tässä nyt tulee hetki, onko meillä työtä jokeri indeksointi merkkiä – vastaus: en tiedä. Принципно мисля, че да, защото не е казано друго в документацията, но в документацията очевидно не се казват или показват много неща 😀

Parannettu Zemanta