Hoy he jugado para optimizar un lento SQL tipo de solicitud

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

Dónde está la problemática un momento aquí – el último parte palabra % ‘ %’ y en caracteres de concreción mayor % antes de la palabra, para eso hacemos. Símbolo de comodín % ,antes de cualquier valor, nuestra aplicación directamente se traduce directamente en un lento, porque de esta manera la aplicación deja de nosotros para utilizar los índices de la. Como siempre hay soluciones, pero no siempre son 😆 claro generalmente MySQL tienes una solución a este problema con búsqueda de texto completo Indexación de la. Cómo es el cambio del campo allí mucho está escrito en la documentación, pero de prisa se describe cómo cambiar la solicitud superior, ya por fin llegaremos a un pequeño drama. Conforman un lindo como aplicable al campo de texto, la consulta debe ser cambiado en forma:

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

Así que la estructura es evidente y no hay necesidad de discusión innecesaria. La consulta anterior entrará en vigor, Si la palabra, para que usted está haciendo una petición menos 4 el símbolo de, Este es el valor por defecto, Si desea modificarlo, debe especificar el valor, която желаете в my.cnf в частта [mysqld] con la declaración ft_min_word_len= 3 o 2, 1 не е добър избор очевидно 😉 . Después de cambiar el valor y reinicie el mysql server-necesidad de hacer una reparación de tablas, en orden para la indexación de direcciones nueva entra en vigor. Aquí todo claro: se cambia, Vuelvo a activar, índices de rebildvam y hacer mi pedido y devuelve 0 Control de línea con 😀

SHOW VARIABLES

Veo que los valores, He preguntado han entrado en vigor, índices de rebildvam otra vez – mismo resultado. 🙄 Odio, muy incómodo. ОТ ТУК НАТАТЪК ЗАПОЧНА ЕДНО ГОЛЯМО РУГАЕНЕ И РОВЕНЕ ЗА КЛЮЧА ЗА БАРАКАТА 😀 КОЙТО СЕ ОКАЗА ДОСТА, ДОСТА ИНТЕРЕСЕН. КАТО ЦЯЛО, КАТО ЗАПОЧНАХ ДА ЧЕТА ДОКУМЕНТАЦИЯТА ЗА НЕ ЗНАМ КОЙ ПЪТ И СТИГНАХ ДО ЕДИН ИНТЕРЕСЕН ПАСАЖ

Such a technique works best with large collections (En realidad, cuidadosamente se templó esta manera). Para tablas muy pequeñas, distribución de la palabra no refleja adecuadamente su valor semántico, y este modelo a veces puede producir resultados extraños. Por ejemplo, Aunque la palabra "MySQL" está presente en cada fila de la tabla artículos anteriores, una búsqueda de la palabra no produce resultados

ГРЕДА 😳 Дам табличката ми беше малка – Todavía era una prueba. En una tabla de comentarios de aplicación grande con sobre 2 000 000 orden y cosas allí están dormidas. Bien ya ha claro el problema. Para aclarar la solución, Voy a mencionar brevemente, ese apoyo de búsqueda de texto completo 3 Modos avanzados BOOLEAN , EXPRESIONES y LENGUAJE NATURAL como los últimos trabajos por defecto. Sobre los diferentes modos puede consultar la documentación, Voy a explicar con 2-3 palabras a BOOLEANO, porque es la clave. Soporta operadores lógicos del tipo y, O , NO y así sucesivamente y puede hacer alguna magia con las frases de búsqueda, para tener una, existe otro, etcetera.. Soportes y símbolo *, es el equivalente de caracteres comodín % 😉 es útil, Cuando el término de búsqueda está en la longitud de la ft_min_word_len o bandejas pequeñas ;). Por lo menos a mí en la mesa con sobre 100 la línea está haciendo un trabajo perfecto. Lo unico que queda y la aplicación acabada:

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

Ahora aquí viene un tiempo de indexación trabaja con nosotros caracteres comodín – la respuesta es que no sé. Принципно мисля, че да, защото не е казано друго в документацията, но в документацията очевидно не се казват или показват много неща 😀

Mejorado por 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 }

Mejorado por Zemanta