Hi!

On Feb 21, HMax wrote:
> So this means we cannot combine both FULLTEXT and classical indexes if
> we want to use a LOAD INDEX INTO CACHE, and that we won't ever be able
> to ?

No. FULLTEXT indexes now have small block size (1024) so they should
load ok. Only long varchar indexes will be a problem (but not
'ever', see below :)

> How about being able to specify the indexes we want to load into the
> cache. It's supposed to work this way (but it is told in the doc it
> doesn't yet). This would solve the problem I believe, if we specify
> what index we want in cache.

Right, it's in the TODO.
Here's the problem: LOAD INDEX reads the complete MYI file
sequentially, block after a block, and loads them in cache.
If blocks would have different sizes it would be not possible, because
block header does not store block size.

Loading only a selected index does not work either, because block
header does not store what index it belongs to.

The only solution would be to traverse the index tree from the root -
but it'd be slow, because it implies random reads from the index file
:(

Instead, we plan to store index number in every block, but it means
incompatible change in MYI file format, so it's not for 4.1 (and not
even for 5.0 which is almost frozen now).

> What I don't undestand is that when not cached using LOAD INDEX INTO
> CACHE, FULLTEXT indexes can be into cache, the ones on VARCHAR too,
> and this does not see to cause any trouble.

See above, regular btree traversal is not a problem. Sequential MYI file
access is.

> But using LOAD INDEX, it doesn't work. Is there really no workaround ?
> We have for about 1.5Go of fulltext indexes and if they were in cache,
> this would speed up things so much !

It's fixed in 4.1.8.

Regards,
Sergei

-- 
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /   Sergei Golubchik <[EMAIL PROTECTED]>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, Senior Software Developer
/_/  /_/\_, /___/\___\_\___/  Osnabrueck, Germany
       <___/  www.mysql.com

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to