Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.6120
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 07.02.2010, 23:24   #1
imgreen
Lion King
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 12,074
Бабло: $247698106
По умолчанию Ускорить MySQL?

Есть таблица с количеством записей - 6кк, размер 300мб.
Делается очень много запросов вида SELECT * FROM table1 WHERE pole1="blablabla"
Создан индекс для pole1. Работает конечно вполне терпимо, но не айс... Можно как-то ускорить еще? Может можно базу сразу в ОЗУ поместить?
__________________
ДетскиеДомики.ру - забота о детях с особыми нуждами.
imgreen вне форума  
Старый 07.02.2010, 23:27   #2
Crazy Joker
Ебланнед
 
Регистрация: 21.09.2007
Адрес: бан по просьбе владельца
Сообщений: 1,054
Бабло: $10
По умолчанию

Кеширование?
__________________
бан по просьбе владельца аккаунта
Crazy Joker вне форума  
Старый 07.02.2010, 23:30   #3
imgreen
Lion King
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 12,074
Бабло: $247698106
ТС -->
автор темы ТС По умолчанию

Кеширование по-моему помогает когда много одних и тех же запросов... У меня не так.
__________________
ДетскиеДомики.ру - забота о детях с особыми нуждами.
imgreen вне форума  
Старый 07.02.2010, 23:51   #4
smartproger
Юниор
 
Регистрация: 12.01.2009
Сообщений: 21
Бабло: $7160
По умолчанию

а какой у вас тип таблицы? myisam innodb?
какие поля? пришлите код создания таблицы

>pole1="blablabla"
сколько именно символов blablabla?

нужно сделать доп. поле и поместить туда хеш(pole1) + создать на него unique index, после чего выбирать данные по нему

+ настройки демона mysqld (my.cnf|my.ini) нужно посмотреть и оттюнить чтобы и innodb engine был в памяти прилично и различные стандартные опции ключи итд

желаю удачи
__________________
SmartProger - разработка софта любой сложности на заказ
smartproger вне форума  
Старый 08.02.2010, 00:04   #5
imgreen
Lion King
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 12,074
Бабло: $247698106
ТС -->
автор темы ТС По умолчанию

PHP код:
CREATE TABLE IF NOT EXISTS `table1` (`IDint(8NOT NULL auto_increment,`STARTvarchar(1NOT NULL,`WORD12varchar(70NOT NULL,`WORD3varchar(50NOT NULLPRIMARY KEY  (`ID`)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=
Поиск осуществляется по полю WORD12

тип таблицы myisam
__________________
ДетскиеДомики.ру - забота о детях с особыми нуждами.
imgreen вне форума  
Старый 08.02.2010, 00:06   #6
smartproger
Юниор
 
Регистрация: 12.01.2009
Сообщений: 21
Бабло: $7160
По умолчанию

ага, ну тогда всё предельно ясно, читайте мой предыдущий ответ
__________________
SmartProger - разработка софта любой сложности на заказ
smartproger вне форума  
Старый 08.02.2010, 00:07   #7
Dux
Senior Member
 
Аватар для Dux
 
Регистрация: 29.09.2009
Сообщений: 412
Бабло: $93270
По умолчанию

подойди с другой стороны
1. делаются ли инсерты и если да, то как часто?
2. сколько разных значений в pole1?
Dux вне форума  
Старый 08.02.2010, 00:17   #8
imgreen
Lion King
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 12,074
Бабло: $247698106
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Dux Посмотреть сообщение
подойди с другой стороны
1. делаются ли инсерты и если да, то как часто?
2. сколько разных значений в pole1?
1. не делаются
2. меньше на порядок

понял к чему ты клонишь, структуру таблицы переделать...
думал об этом, но это не сейчас

в общем надо my.cnf поковырять...
__________________
ДетскиеДомики.ру - забота о детях с особыми нуждами.
imgreen вне форума  
Старый 08.02.2010, 14:17   #9
baadf00d
несъедобный
 
Аватар для baadf00d
 
Регистрация: 06.04.2007
Сообщений: 686
Бабло: $70655
По умолчанию

попробуй сделать сжатую таблицу и сделай размер кеша = размеру индекса (во время запросов попадание в кеш должно получиться 100%)
если скорости будет не достаточно, то тогда надо менять структуру - выносить поле по которому делаешь поиск в отдельную таблицу
__________________
миром правит не тайная ложа, а явная лажа
baadf00d на форуме  
Старый 11.02.2010, 02:28   #10
greenwar
Ебланнед
 
Регистрация: 07.02.2010
Сообщений: 1,053
Бабло: $119555
По умолчанию

на разные таблицы разбить
1 - от a до f
2 - g-q
3 - s-z
greenwar вне форума  
Закрытая тема



Опции темы
Опции просмотра