[rt-devel] rt3.0.0: INDEX proposal
Carlos Canau
canau at keka.KPNQwest.pt
Fri Mar 28 10:31:05 EST 2003
Hi,
rt-3.0.0, MySQL 4.0.12
from my slow logs, I propose the following INDEX:
mysql> explain SELECT DISTINCT main.* FROM Tickets main, Links Links_1 WHERE ((main.EffectiveId = main.id)) AND ( ( ( (Links_1.Type = 'DependsOn')AND(Links_1.LocalBase = '9386' ) ) ) AND ( (main.Status = 'new')OR(main.Status = 'open')OR(main.Status = 'stalled') ) ) AND main.id = Links_1.LocalTarget;
+---------+--------+---------------------------+---------+---------+---------------------+------+------------------------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+---------+--------+---------------------------+---------+---------+---------------------+------+------------------------------+
| Links_1 | ALL | NULL | NULL | NULL | NULL | 21 | Using where; Using temporary |
| main | eq_ref | PRIMARY,Tickets4,Tickets5 | PRIMARY | 4 | Links_1.LocalTarget | 1 | Using where |
+---------+--------+---------------------------+---------+---------+---------------------+------+------------------------------+
2 rows in set (0.00 sec)
mysql> alter table Links add INDEX TypeLocalBaseLocalTarget(Type,LocalBase,LocalTarget);
Query OK, 21 rows affected (0.21 sec) Records: 21 Duplicates: 0 Warnings: 0
mysql> explain SELECT DISTINCT main.* FROM Tickets main, Links Links_1 WHERE ((main.EffectiveId = main.id)) AND ( ( ( (Links_1.Type = 'DependsOn')AND(Links_1.LocalBase = '9386' ) ) ) AND ( (main.Status = 'new')OR(main.Status = 'open')OR(main.Status = 'stalled') ) ) AND main.id = Links_1.LocalTarget;
+---------+--------+---------------------------+--------------------------+---------+---------------------+------+-------------------------------------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra |
+---------+--------+---------------------------+--------------------------+---------+---------------------+------+-------------------------------------------+
| Links_1 | ref | TypeLocalBaseLocalTarget | TypeLocalBaseLocalTarget | 24 | const,const | 1 | Using where; Using index; Using temporary |
| main | eq_ref | PRIMARY,Tickets4,Tickets5 | PRIMARY | 4 | Links_1.LocalTarget | 1 | Using where |
+---------+--------+---------------------------+--------------------------+---------+---------------------+------+-------------------------------------------+
2 rows in set (0.00 sec)
Best regards,
</Canau
More information about the Rt-devel
mailing list