Image representing MySQL as depicted in CrunchBase

Ceva timp în urmă am scris despre MySQL Full Text Search 🙂 Azi am avut o foarte interesant experience cu o interogare. În General, interogarea este în căutarea pentru rezultate care lipsesc alt tabel. A selecta o sub osnovne şi selectaţi în partea în care aplicarea. În General, scheletul şi este

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

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

În General, o simpla cerere. Am scris-o pentru 30 SEC de presă ei şi blocat mașina. După o lungă şi cu răbdare de aşteptare pe partea mea sau doar ~ 43 sec . Scuipat lol meu de scor . Pfff Madhouse. Introduceţi în maşină în căutarea CPU în mod normal este încărcată aproape la starea inactiv. Şoc şi uimire. Executaţi interogarea încă din nou acelaşi rezultat. Dracu WTF. Executa interogarea şi explica tot ce am – al doilea câmp este doar secondTextField căutare după text complet Nu index, şi există o tavă modest de aproximativ 35 k linie. Ce să citească – indexul de căutare Full text nu este. Este deja clar problema reală rapid unul

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

Şi lucrurile nap locuri de interogare a luat 0.0005 sec 😀

Fii atent cum ai pus indicii de ele depinde de rata marginală de aplicare.

p. s ansamblul greşită despre situaţia de mai sus nu sunt numai pentru că acesta lipseşte un index, deoarece nu folosind full text search metoda 😀

Consolidată prin Zemanta

Despre o jumătate de an după anunţul meu ultimul pe Dreambox monitorizarea meu sitestemata am pot anunţa noi şi, probabil, unul dintre ultimele versiuni de Nuki. Версията беше готова още преди 2 luni de lene, dar în cazul în care în cazul în care lucrurile sunt pentru depanare cu anunt pozabaviha. La câteva zile de lucru pe 32 Dreambox 500-s, iar rezultatele sunt foarte bune. Modificările sunt foarte – eliminat este idiot conform Linux server pentru a transfera busteni – Acum trebuie să aveţi apache + PHP, deoarece noul sistem pentru scris jurnale este să prezinte parametrii la un script php pe server. Am modificat script-ul pentru a lucra fără partea de server – Dacă aveţi unele receptoare de satelit nu este semnificativ pentru a le pune un server pentru a lua info, asa ca pot muta hardkodnato script-ul cu 2 informaţiile variabile pentru CAM-. Am, de asemenea, au declarat unei variabile suplimentare pentru depanare – Dacă nu doriţi jurnalele nu aruncare – retardat din nou gol decât anterior s-au făcut 🙂 lumina popraviki în codul, Se părea ca scris de polugramoten retardat (nu că eu nu sunt de). Ostrane noi 2 erori critice care să conducă la încetarea lucrărilor script-ul la un moment aleatoare, din nou oligofrenski omisiuni partea mea. În general scris nu a fost foarte pur şi simplu a trebuit să ia în considerare a face ca oamenii, că busybox și cenușă nu sunt lucruri uşor de domesticire. De data aceasta cred că a salva big declama cu codul şi să explice ceea ce variabile pentru ceea ce este şi ce tratamente se pot face cu ea (noi) 🙂

SERVER="192.168.100.1"
 STANDALONE="FALSE" #using like stand alone app no server side depends ; )
 HCAM1="" ## if starting like stand alone app give me CAM namezzz if HCAM1 is empty its means chanel is free
 HCAM2="" ## CAM2 name
 PORT="666" # port rockzzz : D : )))))))))))))))))
 IP=$(ifconfig eth0 | grep inet | awk '{print $2}' | sed -e '[email protected]:@@')
 FILE='/tmp/debug'
 INFO='/tmp/info_file'
 NC=$(which nc)
 WGET=$(which wget)
 MAX_DAYS="10"
 TIMEOUT="600"
 MAX=70 #max cpu usage per process
DEBUGING="TRUE" #if u wanna script send debug information set DEBUGING to TRUE if SEVERLESS is set to true this var will be skiped
 NEWDBGSTYLE="TRUE" #debuging new style sending info to apache derectly, old style using nc

Atât de evident promenliviti nume vorbesc de la sine dar suficient deşi şi vreau să spun câteva cuvinte inteligent.

STANDALONE este una dintre cele mai importante variabile este adevărat în cazul în care setnata nu va efectua apeluri la server şi nu va necesita mai potrivit server în cazul în care îl folosiţi trebuie să puneţi următoarele valori şi HCAM1 (Nu ştiu de ce am numit-o ca nu-mi amintesc acum, dar nu conteaza). În cazul în care nu există nici o valoare reală în ea şi este un standalone script-ul skritpa presupunând că va lucra pe canale necriptate şi nu există nici o verificare pentru modul de decriptare, Dacă va testa în funcţie de valoarea reală specificată. HCAM2 opţional, dacă utilizaţi numai modulul de decodor 1 Să spunem de exemplu procesul de CCcam.

DEBUGING interesant a doua variabilă prlûe sau informaţii va tăcea potrivit depinde ce valoare ai sunt trântit. Avotmatično trece la o reducere dacă STANDALONE este adevărat

NEWDBGSTYLE Proiectul unei variabile importante. Acesta va transfera log-urile server. În cazul în care adevărat va este nou mod fără idiostkata potrivit netcat. Dacă încă mai păstra metoda veche pune FALSE. În General, acestea sunt lucrurile pe care trebuie să se concentreze, dar cred că, Deşi modificările sunt radicale o idee va rămâne transparentă pentru implicit specificate valorile 🙂

Cu siguranta sunt foarte multumit de cum lucraţi – script-ul a devenit deja suficient de flexibil otpdnaha idiotkite în funcţie de fişiere suplimentare pentru caracteristici, precum şi otpdna şi cred că în conformitate cu nc sau nevoia pentru un server, etc, nu toată lumea se bucură 30+ Box-o ca un server sau poate avea un router un. Are încă o mulţime de a îmbunătăţi, dar de acum cred că am de gând să se abţină de la lucruri pentru că takvia nu este necesar 🙂

Deoarece fişierele sunt, de obicei, situat în Director а крипта за въвеждане на логовете може да свалите от aici

И по случай добрия скрипт едно ускорено парче за всички ускорители 😀

Consolidată prin Zemanta