MySQL - 7 млн. записей....

insidex

флихтэръер
MySQL - 7 млн. записей....

Вот досталась от продавца База на 7млн записей в таблице:
1-ое поле - varchar(255)
2-ое поле - varchar(32)
3-ое поле - int(11)

Indexes: 1-ое поле UNIQUE 7479237

Простая выборка из базы, не говоря уже о конструкции LIKE, занимает колоссальное время. Помогите правильно оптимизировать эту БД.
Заранее большое спасибо!
 

WP

^_^
char лучше чем varchar в данном случае. Чтобы длина ряда была одинаковая.
 

insidex

флихтэръер
Спасибо, но сильно ли это сможет ускорить работу с БД ?
 

insidex

флихтэръер
Понял, "выхода нет..." значит. Придется свою файловую систему на выходных накатать :mad:
 

magic

lancer
Re: MySQL - 7 млн. записей....

Автор оригинала: insidex
Вот досталась от продавца База на 7млн записей в таблице:
1-ое поле - varchar(255)
2-ое поле - varchar(32)
3-ое поле - int(11)

Indexes: 1-ое поле UNIQUE 7479237

Простая выборка из базы, не говоря уже о конструкции LIKE, занимает колоссальное время. Помогите правильно оптимизировать эту БД.
Заранее большое спасибо!
"Простая выборка" выбирает все записи, т.е. все 7 млн., что конечно фигня. LIKE тоже выбирает все записи.

Для того, чтобы оптимизировать БД, нужно знать для чего она нужна и какие запросы планируются.

-~{}~ 10.11.06 23:03:

Понял, "выхода нет..." значит. Придется свою файловую систему на выходных накатать
Еще одна идиотская идея. Вы сразу ОС напишите.
 

svetasmirnova

маленький монстрик
WP
>char лучше чем varchar в данном случае. Чтобы длина ряда была одинаковая.

И каким чудом не видя данных ты об этом узнал?
 

insidex

флихтэръер
magic
Ты чувством юмора обделен что-ли :)

Done....

Код:
Field  	 Type  	           Null  	 Key  	 Default  	 Extra
keyw 	varchar(255) 	  	         PRI 	  	 
bid 	varchar(32) 	  	  	  	 
ov_ra 	int(11) 	  	  	             0
 

Фанат

oncle terrible
Команда форума
гыгыгы
бьюсь об заклад - в поле keyw лежат кейворды череззапятую, и поиск по ним осуществляется прогрессивным методом лайк.
 

insidex

флихтэръер
Все, привел скрин к читабельному виду :)

Какую запятую ? Одно поле, один кей... А есть еще методы?
 

Фанат

oncle terrible
Команда форума
а лайк там тогда откуда взялся?

-~{}~ 11.11.06 14:17:

и, что-то я не видал слов длиной не то что в 255, а даже в просто 55 символов. Не многовато ли, для одного слова?

может, если сократить выделенную под праймари индекс память раз этак в 10 - глядишь и побыстрее защёлкает?
 

insidex

флихтэръер
like отсюда вот:

blablabla KEY blablaKEYs bla
KEY
KEYs
sKEYs blabaaaaa!

Так никто и не говорил про одно слово, целые словосочетания (см. выше)

может быть, надо попробывать...
 

voituk

прозревший
svetasmirnova
Индекс по char производительнее чем индекс по varchar.

Также можно получить выигрыш в произвдительности если таблицу с переменной длиной строки заменить на таблицу с фиксированной длиной строки.

А вообще что-то мне подсказывает что в своих экстрасенсорных предположениях прав Фанат :)
 

insidex

флихтэръер
Вообщем заплатил админу, не знаю что он с мускулом сделал, зато теперь селект в разы быстрее стал выполняться :p
 
Сверху