Hmmm... I fixed the problem but I still don't know what caused it. That same query now
produces the below EXPLAIN result and now
runs 70% faster.
I ran OPTIMIZE TABLE on Spells and Classes, that made Spl rows 1, then I forced the
Cls table to use the Object index and it worked.
Now, I can't get it to reproduce the problem. The database was just created and
populated, so it couldn't have been DB degradation.
Any ideas?
Chris
+---------+--------+------------------+----------+---------+-------------------------------------+------+---------------------------
-------------------+
| table | type | possible_keys | key | key_len | ref
| rows | Extra
|
+---------+--------+------------------+----------+---------+-------------------------------------+------+---------------------------
-------------------+
| NPCSpl | index | PRIMARY | PRIMARY | 10 | NULL
| 6034 | Using index; Using
temporary; Using filesort |
| ObjNPCs | eq_ref | PRIMARY | PRIMARY | 8 |
const,NPCSpl.FileID,NPCSpl.ObjectID | 1 | Using where; Using index
|
| NPCs | eq_ref | PRIMARY,ObjectID | PRIMARY | 6 |
ObjNPCs.FileID,ObjNPCs.ObjectID | 1 |
|
| Spl | ref | PRIMARY,ObjectID | ObjectID | 4 | NPCSpl.ObjectID_Spell
| 1 |
|
| ObjSpl | eq_ref | PRIMARY | PRIMARY | 8 |
const,Spl.FileID,Spl.ObjectID | 1 | Using where; Using index
|
| Cls | ref | PRIMARY,ObjectID | ObjectID | 4 | NPCs.ObjectID_Class
| 1 | Using where
|
| ObjCls | eq_ref | PRIMARY | PRIMARY | 8 |
const,Cls.FileID,Cls.ObjectID | 1 | Using where; Using index
|
+---------+--------+------------------+----------+---------+-------------------------------------+------+---------------------------
-------------------+
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]