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

How PulseAudio works.

Kuvan kautta Wikisanakirja

Днес най- накрая след една камара време реших да си купя още кабели за да си закача 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 }

Parannettu Zemanta