Помогите пожалуйста советом как исправить такую ситуацию:
Есть компьютер Athlon 64 X2 4800, 4Gb RAM, FreeBSD 9.0 Beta3 x64, MySQL 5.5.15
Есть две таблицы:
table_1
Код: Выделить всё
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| msgDate | int(10) unsigned | NO | | NULL | |
| msgSource | int(10) unsigned | NO | MUL | NULL | |
| msgStatus | int(10) unsigned | NO | MUL | 1 | |
| msgBody | text | YES | MUL | NULL | |
| msgLink | char(255) | NO | UNI | NULL | |
+-----------+------------------+------+-----+---------+----------------+
Код: Выделить всё
+----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| strHash | char(50) | NO | UNI | NULL | |
+----------+------------------+------+-----+---------+----------------+
Код: Выделить всё
UPDATE table_1,table_2 SET msgStatus=2
WHERE LOWER(msgBody) LIKE CONCAT("%",LOWER(strHash),"%")
Так вот этот запрос выполняется непомерно долго!
Долго для такой ситуации:
В таблице table_1 - 7000 записей, в таблице table_2 - 70 записей, и когда выполняется запрос, процесс mysqld грузит проц на 100% в течение 30 секунд и с каждыми новыми 10-ю записями в table_2 ситуация усугубляется.
Таблица table_1 : MyISAM, поле msgBody FULLTEXT INDEX.
Вот конфиг my.cnf
Код: Выделить всё
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
#skip-locking
skip-networking
disable-log-bin
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 16M
net_buffer_length = 8K
read_buffer_size = 100M
read_rnd_buffer_size = 100M
myisam_sort_buffer_size = 16M
init_connect = 'SET NAMES utf8'
#default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci