image У вас есть приложение, подобное этому: 1 таблица DB, несколько полей int, несколько небольших полей varchar и около 10 полей TEXT (переменная содержимого - некоторые данные длиной около 50 символов, более 100 -200, около 1000, всего немногим больше 1000). Количество строк находится в x0 000 - x00 000. Теперь мне нужен эффективный способ запроса, как этот (метаязык):Текст для индексирования - MySQL и MS SQL
SELECT (1, если textfield1 LIKE% param1% ELSE 0) как r1, (1, если textfield2 LIKE% param2% ELSE 0) как r2, ... и т. Д., Для большинства текстовых полей в 1 запросе обычно (динамический - может быть 2 из них включены, может быть все из них).
Теперь вопрос - что для меня лучше, MySQL или MSSQL (возможно, выражать, когда возможно, обновить до полного, если это действительно необходимо)?
Я знаю, что MySQL имеет хорошие текстовые индексы, которые вы установили на произвольном числе первых символов, так что я могу уравновесить его для типичного сценария (например: http://fernandoipar.com/2009/08/12/indexing-text-columns-in-mysql/)
MSSQL имеет только полнотекстовую индексацию, с которыми у меня нет опыта. Обратите внимание, что мне НЕ нужны функции, такие как близость слов или похожие слова (run = ran; некоторые из них были бы хороши, но поскольку данные многоязычны, это в любом случае невозможно). Мне нужна простая система LIKE% word%, вот и все. И я также должен иметь возможность находить короткие подстроки (2 символа).
Практически цель состоит в том, чтобы запускать как можно больше этих запросов в час/день (таких результатов не будет, никогда не будет, потому что они должны быть обновлены как можно чаще), поэтому подумайте об этом виде эффективности, требование:
Thanx!
ОБНОВЛЕНИЕ: хорошо, поэтому нет возможности использовать индекс для оптимизации LIKE% foo% запросов. Итак, новый вопрос: есть ли другой способ ускорить этот тип запросов? (пожалуйста, пропустите такие вещи, как «купить больше бара или SSD»)
большое спасибо за этот намек, я взглянул и очень быстро прототипировал что-то, и Lucene.NET определенно похоже на способ пойти .. freakin быстро и гибко, я очень изумлен на самом деле :) – rouen