Ma játszottam, hogy optimalizálja a lassú SQL Alkalmazása a nemzetség

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

Hol van az a probléma most itt – Az utolsó rész '% szót%’ és még több egyedi karaktert % szó előtt, amelyből nem. joker szimbólum % ,mielőtt bármilyen értéket, közvetlenül tesz minket lekérdezés közvetlenül a lassú, mert így az alkalmazás leáll számunkra, hogy használja indexek Field. Döntések mindig, de nem mindig egyértelmű 😆 Átlag MySQL Van egy megoldás erre a problémára Kulcsszavas keresés indexelés terén. Hogyan változik a területen van egy csomó írásos dokumentáció, de sietve leírja, hogyan kell változtatni a felső kérelem, mert mi lesz egy kis dráma végül. Sledka alkalmazandó teljes szöveges mezőben, kérelmet kell változások a típus:

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

Tehát a szerkezet nyilvánvaló, és nem igényel felesleges vitát. A fenti lekérdezés lép hatályba, ha a szó, Önnek olyan kérelmet legalább 4 szimbólumok, Az alapértelmezett érték, Ha módosítani szeretné meg kell határozni az értékét, akar én. részében cnf [mysqld] nyilatkozat ft_min_word_len= 3 vagy 2, 1 nem jó választás nyilvánvalóan 😉 . Miután megváltoztattuk az értéket, és indítsa újra mysql szerver kell tennie javításra a táblák, Ahhoz, hogy az új indexelési lép hatályba. Eddig minden világos: változtatások, vissza, rebildvam indexek, és nem a kérést, és visszatér 0 Ellenőrzése a megbízás 😀

SHOW VARIABLES

Látom, hogy az értékek, Megkértem a hatályos, rebildvam újra indexek – ugyanazt az eredményt. kellemetlen 🙄, nagyon kellemetlen. Innen kezdődött a nagy átokkal és vakarja a legfontosabb, hogy a fészer 😀 aki meglehetősen, elég érdekes. nagyjából, Elkezdtem olvasni dokumentációt nem tudja, melyik úton, és jött egy érdekes passzus

Ilyen technika működik a legjobban a nagy gyűjtemények (valójában, azt gondosan hangolt így). A nagyon kis asztalok, szó eloszlása ​​nem tükrözi megfelelően a szemantikai értéke, és ez a modell is olykor bizarr eredményeket. Például, bár a "MySQL" jelen van minden sorában cikkek asztal korábban bemutatott, a keresés a szó nem termel eredményeket

SUGÁR 😳 ad az én-m tálca kis – Mégis ez volt a teszt. A alkalmazás egy nagy asztal felett 2 000 000 rend és ott aludt a dolgokat. Hát most egyértelműen a problémát. Ahhoz, hogy egyértelmű döntés, Megemlítek röviden, hogy támogatja a teljes szöveges keresés 3 speciális mód LOGIKAI , KIFEJEZÉSEK és természetes nyelv az utolsó munkája alapértelmezés. Módhoz ellenőrizheti dokumentáció, Én megmondom 2-3 BOOLEAN szavak, mert ez a kulcs. Támogatja logikai operátorok ilyen ÉS, VAGY , NEM, és így tovább, és lehet, hogy bizonyos mágikus népszerű kifejezések, egy, nincs más stb. Fenntartása és szimbólumok *, amely egyenértékű a helyettesítő szimbólum % Ez akkor hasznos, 😉, ha a keresési kifejezés kisebb, mint a hossza ft_min_word_len vagy tálca ;). Legalábbis nekem egy asztal körülbelül 100 érdekében nem tökéletes munkát. Így csak látni és a kitöltött kérelmet:

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

Itt jön a pillanat, hogy mi indexelő működik helyettesítő karakterek – A válasz nem tudom. Azt hiszem, elvileg, hogy, mert nincs megadva, a dokumentációban, de a dokumentációban nyilvánvalóan nem azt mondják, vagy egy csomó dolgot 😀 megjelenítése

Növeli Zemanta

How PulseAudio works.

Image via Wikipedia

Днес най- накрая след една камара време реших да си купя още кабели за да си закача 5.1 аудио системата ми пълноценно. Досега я ползвах със нормален стерео кабел и след това системата сама си правеше деление на аудио каналите. Което не е никак добре. Сега вече за всеки канал си има отделен кабел и звукът е доста по чист (естествено), по плътен а на филмите усещането е подобрено много кратно. Имаше няколко малки драми които се оправят относителни интуитивно. Основната драма беше, че звукът тръгна само в front колоните без буфер център или задните след като пренастроих звуковата схема на Gnome да е 5.1 . В повечето плеъри имам опция за настройка в alsa часта за колко канално да е аудиото но има програми в които отсъствува такава възможност като да речем adobe flash player. Първоначалната ми идея беше просто да пренастроя .asoundrc като задам параметри да дублира звукът по всички каналирешение с което не се гордея защото не го обмислих изобщо. Конфигурацията тривиална :

pcm.!default {
type plug
slave.pcmsurround51
slave.channels 6
route_policy duplicate
}

С нея нещата си дойдоха на място докато не осъзнах че alsa може да обработва само по 1 процес и докато тои не приключи да я ползва друг не може. 😳 Неприятно но факт бях забравил времената в който слушаш или player или youtube и ако едното ти омръзне трябва да затвориш програмата, че да ползваш другата апликация. Което веднага ми подсказа къде е истинския корен на нещатаконфигурацията на pulseaudio сървъра. Pulseaudio е най грубо казано прокси сървър който обработва информацията между аудио хардуера и аудио софтуера който иска да го ползва. Система която с години се доказа много кратно. При нея конфигурацията се намира в /etc/pulse/daemon.conf. По подразбиране всичко е закоментирано с ; така че ако не сте праивли промени може направо смело да добавите следните редове накрая на файлът:

enable-lfe-remixing = yes

default-sample-rate = 48000
default-sample-channels = 6

Имената на опциите са очевидни задаваме стойноста на колко канално аудио ще сме малък тунинг на стандартния битрейт и разрешване на lfe ремиксирането. След това остава да рестартирате alsa и pulseaudio с

sudo /etc/init.d/alsa-utils restart && pulseaudio -k

От тук нататък за мен остана само а се наслаждавам на вече по доброто аудио.

edit: .asoundrc трябва да е със съдържание за да нямате проблеми със skype и някой други апликации

pcm.pulse {type pulse }
ctl.pulse { type pulse }

Növeli Zemanta