[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 250кк строк в MySQL
sx000
Столбец индексируемый
Вопрос такой ... насколько будет дорогая операция SELECT по данной колонке,? Стоит ли туда столько запихивать строк smile.gif, не свалю ли сервак? Вообще хотел рассмотреть вариант Беркли, но не смог найти книги на русском по нему. А на англ для меня это не понимать smile.gif



Спустя 3 минуты, 28 секунд (11.10.2011 - 20:01) VELIK505 написал(а):
Не должен свалить. Какая необходимость хранить 250 касарей строк там?

Спустя 2 минуты, 41 секунда (11.10.2011 - 20:04) sx000 написал(а):
это список слов и словосочетаний из которых нужно делать выборки они все уникальны если вы про атомарность ... и 3НФ. Более там не чего не будет.

Спустя 59 секунд (11.10.2011 - 20:05) sx000 написал(а):
не 250к а 250кк это 250 000 000 строк

Спустя 1 минута, 17 секунд (11.10.2011 - 20:06) VELIK505 написал(а):
Это далеко не много на самом деле. У меня бывало и мощнее. Правда я стараюсь огромные обьёмы в мемкеше или редисе хранить.
Ps. Winston проверь личку

Спустя 3 минуты, 31 секунда (11.10.2011 - 20:10) sx000 написал(а):
я просто тут работал с 2 000 000 конечно с LIMIT работает smile.gif нормально, думал MySQL зря отказался от беркли формата до ваших слов ну чтож попробую ему скормить такой объем

Спустя 2 минуты, 11 секунд (11.10.2011 - 20:12) VELIK505 написал(а):
Цитата (sx000 @ 11.10.2011 - 17:10)
я просто тут работал с 2 000 000 конечно с LIMIT работает smile.gif нормально, думал MySQL зря отказался от беркли формата до ваших слов ну чтож попробую ему скормить такой объем

Да скормить можно любой обьём в таблицу базы мускуля. Но как распоряжаться этим обьёмом надо знать и уметь! У тебя может лежать в мускуле хоть милиард таблиц столько же строк и тд и тп и это может супер быстро работать если правильно всё делать, всё кешировать всё ложить в оперативку.

Спустя 1 минута, 30 секунд (11.10.2011 - 20:13) sx000 написал(а):
выборки будут не идентичные, по этому в ОЗУ хранить смысла мне кажется нет или я чего то не понимаю

Спустя 2 минуты, 1 секунда (11.10.2011 - 20:15) VELIK505 написал(а):
Как это нет смысла ты в курсе что у всех сайтов нормальных почти всё в мемкеше лежит напрямую с базой никто не работает. Теже сесии надо в мемкеше хранить будет у тебя 5000 онлайна пока сервер выберет нужную сессию из папки год пройдёт а из мемкеша он хеш ключ сессии за тысячную секунду выберит. А ты говоришь про sql запросы.

Спустя 3 минуты, 35 секунд (11.10.2011 - 20:19) sx000 написал(а):
дело в том что селект будет идти последовательно, это под расчеты больше скрипт чем скажем под сайт. Те обработал один селект потом второй ... последовательно. Какой смысл хранить это все в мем кеше. И потом иногда оно будет простаивать часа два тря

Спустя 1 минута, 8 секунд (11.10.2011 - 20:20) VELIK505 написал(а):
Ну если так то ничё страшного.

Спустя 33 минуты, 47 секунд (11.10.2011 - 20:54) sx000 написал(а):
CREATE TABLE IF NOT EXISTS word_table (
words_list char(254) NOT NULL,
KEY words_list (words_list)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

VELIK505 я же все верно сделал? Индексируемый столбец один words_list и все больше нечего не нужно. Может есть какие то хитрости или умности?

Спустя 7 минут, 27 секунд (11.10.2011 - 21:01) VELIK505 написал(а):
Может и есть, я также делаю. ENGINE=MyISAM вот это не есть хорошо=)

Спустя 1 минута, 10 секунд (11.10.2011 - 21:03) sx000 написал(а):
почему? не есть хорошо поясните пожалуйста

Спустя 3 минуты, 35 секунд (11.10.2011 - 21:06) VELIK505 написал(а):
Самое слабое место Mysql это Майсам. Надо использовать Aria. Я много тестил делал несколько одинаковых таблиц в разных типах и все крашились не крашились только фалкон и ариа но из арии выборка быстрее идёт чем из фалкона.
Не зря Mysqlивцы сами признали что aria превосходит myisam и взяли за основу в mysql6 за вместо myisam aria так что в mysql6 не будет такого как майсам ещё один повод задуматься безболезнено в скором времени перейти на mysql6 когда время придёт

Спустя 10 минут, 4 секунды (11.10.2011 - 21:16) sx000 написал(а):
конечно ... полностю согласен завел таблицу как вы сказали. Щас буду в нее загонять 250 кк smile.gif на ночь оставлю

Спустя 5 минут, 35 секунд (11.10.2011 - 21:22) VELIK505 написал(а):
Я раньше сам не задумывался когда сидел на Майсаме и всяком старье как динозавр. Думал работает и ладно но в один прекрасный момент меня ддоснули все индексы полетели все таблицы крашнулись я запарился их восстанавливать. И потом что не ддос либо большие нагрузки краш майсама. Мне это надоело и начал читать про базы и новые типы таблиц и ставил всякие разные сборки и тестил всё и сделал вывод что Maria db наилучший вариант из сборок мускула. Ну или в каком-то 5.1 есть ариа и в mysql6 и тьфу-тьфу не 1 таблица aria не летела ещё. И кстати восстанавливаються aria раза в 3 быстрее чем майсам

Спустя 4 минуты, 10 секунд (11.10.2011 - 21:26) sx000 написал(а):
да мне про берлки тут много говорили что оно круче и тд ... спорить я не стал так как сам мало в этом понимаю ну так поверхностно smile.gif

Спустя 5 минут, 14 секунд (11.10.2011 - 21:31) VELIK505 написал(а):
Вообщем я ходил на конференцию Петра Зайцева вот он по Мускулям отец пипец такие вещи двигал, там весь зал афигивал.
http://yapro.ru/web-master/mysql.html

Спустя 24 минуты, 7 секунд (11.10.2011 - 21:55) dadli написал(а):
VELIK505
а если знаеш етот движок (aria) подерживает полнотекстови индекс ?

Спустя 9 минут, 47 секунд (11.10.2011 - 22:05) VELIK505 написал(а):
aria это не движок а тип таблицы. А сборка мускула называеться Maria db. А по твоему вопросу то поддерживает

Спустя 4 минуты, 43 секунды (11.10.2011 - 22:10) dadli написал(а):
VELIK505
ясно, спасибо

Спустя 9 дней, 16 часов, 29 секунд (21.10.2011 - 14:10) sx000 написал(а):
загнал таки в таблицу все. Но выборки ооочень долие идут вот до сих пор сижу выборка like %word% and like %word 2% or like %word 3% and like %word 4%
короче говоря не знаю надо как то устроить процесс. Подскажите что сделать чтоб процесс ускорить малость хотя бы.

Спустя 5 минут, 5 секунд (21.10.2011 - 14:15) Winston написал(а):
Вместо LIKE здесь можно использовать IN



Спустя 48 секунд Winston написал(а):
IN('word', 'word 2', 'word 3', 'word 4')

Спустя 37 минут, 21 секунда (21.10.2011 - 14:53) imbalance_hero написал(а):
sx000
LIKE не использует индексы в таком виде. Если ты слова ищешь, то используй полнотекстовый индекс в майисам. Хотя точно ли ты слово искал? smile.gif
Насчет выбора движка, майисам адаптирован как раз для ВСТАВОК, у него самая лучшая производительность на вставки записей, и самая медленная работа с выборкой из БД. Про Арию не знаю, но из тех, что я знаю, самая быстрая на выборку - InnoDB. Разница где-то в 2-3 раза будет по скорости выборки.

Спустя 1 час, 18 минут, 48 секунд (21.10.2011 - 16:12) sx000 написал(а):

mysql> SELECT * FROM `word_table` WHERE `words_list` IN ('word') LIMIT 0 , 500;
а если допустим строки состоят из нескольких слов
bred word
bred word1
bred word2
IN это точное вхождение же или я не прав? Может быть BETWEEN? Какой оператор тогда использует индексы если не LIKE?

Спустя 5 минут, 31 секунда (21.10.2011 - 16:17) sx000 написал(а):
Цитата (imbalance_hero @ 21.10.2011 - 11:53)
sx000
LIKE не использует индексы в таком виде. Если ты слова ищешь, то используй полнотекстовый индекс в майисам. Хотя точно ли ты слово искал? smile.gif
Насчет выбора движка, майисам адаптирован как раз для ВСТАВОК, у него самая лучшая производительность на вставки записей, и самая медленная работа с выборкой из БД. Про Арию не знаю, но из тех, что я знаю, самая быстрая на выборку - InnoDB. Разница где-то в 2-3 раза будет по скорости выборки.

полнотекстовый поиск по 250кк строк?

Спустя 2 минуты, 23 секунды (21.10.2011 - 16:19) Игорь_Vasinsky написал(а):
а в двух словах какая разница между ними? Ария VS Майсам?

Спустя 1 час, 24 минуты, 5 секунд (21.10.2011 - 17:44) vital написал(а):
Цитата (sx000 @ 21.10.2011 - 15:17)
полнотекстовый поиск по 250кк строк?

А че бы и нет? Ставите сфинкс и будет вам счастье.

А делать лайк - это ******.

А про типы таблиц там было выше...

Не для того оно, не для того.

 ! 

М
Мат, не есть хорошо !
Winston

Спустя 1 час, 3 минуты, 36 секунд (21.10.2011 - 18:47) sx000 написал(а):
какой сфинкс smile.gif не нужен он мне база у меня словосочетаний сделать надо из нее выборку ... нфига там сфинкс не совсем понятно. Скажите мне пожалуйста каким образом мне все такие делать выборки грамотно. Это просто строка варчар не более того в которой есть от 1 до 6 слов не более, фуллтекст туда ставить то зачем.

Спустя 3 часа, 14 минут, 30 секунд (21.10.2011 - 22:02) imbalance_hero написал(а):
sx000
MATCH () AGAINST () - это поиск по полнотекстовому индексу. Не забудь только его выставить на колонки. Что ты используешь именно полнотекстовый индекс, а не обычный. Поддерживается только MyIsam, InnoDB не поддерживает. Тут уже по обстоятельствам надо выбирать, на каком движке будет конкретная таблица.

Спустя 1 час, 27 минут, 5 секунд (21.10.2011 - 23:29) sx000 написал(а):
6k записей, каждя из них по 1-6 слов, и все это безобразие заняло 6 гигов. Я в шоке от такого. Может беркли все таки докопать smile.gif?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.