we're trying to do a BOOLEAN full text search over a table with about 200.000 entrys and 650MB of data (full text index is about half the size of the data, the average row length is about 3,2kB) on the System stated below. A sample statement we're trying to run is:
SELECT
id, title
FROM
texts
WHERE
MATCH(title, text) AGAINST('+strasse* +erneuerung*' IN BOOLEAN MODE);EXPLAIN says: table : texts
type : fulltext
possible_keys: text
key : text
key_len : 0The key text is a combined full text index over the colums TEXT and TITLE.
This kind of statement takes about 10 to 30 seconds and generates 30-40% CPU usage for the first time the match string is used. If the search is already in cache it takes from 0 to 3 seconds. But unfortunaltely we could not preexecute all possible searches, so the time for the first use of the match string is of capital importance.
Is such a full text search really that slow? Or is there any possibility to speed this up to about 2 to 5 seconds? Help would be very appreciated.
best regards and thanks
Axel Scheel
System Description: ------------------- Linux 2.4.21
CPU: AMD Duron(tm) Processor stepping 00 Detected 647.810 MHz processor. Calibrating delay loop... 1291.05 BogoMIPS Memory: 774500k/786368k available
MySQL Version: 4.0.13
mytop says : Key Efficiency: 99.7%
my.cnf : key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size= 16MThe data file (*.MYD) and the index file (*.MYI) resist on different hard disks. The one with the index is of type ext2 the one with the data is of type ext3.
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
