Heya.
Firstly, appologies if this is the wrong maillist to send this too. I'm using a great request tracking software package called RT ( www.fsck.com ) , however my database seems to be a little larger than the ideal config for this system as its not scaling very well, i've tracked most of the problems down to one query that takes forever to run, as it seems to access every row in the tables its looking at, I was hoping for some help in optimising this query or in creating some better indexes for it. Oh, and I have tried to get a solution from the RT mailing lists first, but no real luck I've tried a few different indexes myself, but nothing seems to work. when I explain this query it shows that all the rows are beening looked at to resolve this query. I would be very thankful for any help with this. Here is the query SELECT DISTINCT main.* FROM Tickets main, Watchers Watchers_1 LEFT JOIN Users as Users_2 ON Watchers_1.Owner = Users_2.id WHERE ((main.EffectiveId = main.id)) AND ((Watchers_1.Scope = 'Ticket')) AND ((Watchers_1.Type = 'Requestor')) AND ((Watchers_1.Email = '[EMAIL PROTECTED]')OR(Users_2.EmailAddress = '[EMAIL PROTECTED]')) AND main.id = Watchers_1.Value ORDER BY main.id DESC LIMIT 50 the tables are as follows mysql> describe Tickets -> ; +-----------------+--------------+------+-----+--------------+-------------- --+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+--------------+-------------- --+ | id | int(11) | | PRI | NULL | auto_increment | | EffectiveId | int(11) | YES | MUL | NULL | | | Queue | int(11) | YES | MUL | NULL | | | Type | varchar(16) | YES | | NULL | | | IssueStatement | int(11) | YES | | NULL | | | Resolution | int(11) | YES | | NULL | | | Owner | int(11) | YES | MUL | NULL | | | Subject | varchar(200) | YES | | [no subject] | | | InitialPriority | int(11) | YES | | NULL | | | FinalPriority | int(11) | YES | | NULL | | | Priority | int(11) | YES | | NULL | | | Status | varchar(10) | YES | | NULL | | | TimeWorked | int(11) | YES | | NULL | | | TimeLeft | int(11) | YES | | NULL | | | Told | datetime | YES | | NULL | | | Starts | datetime | YES | | NULL | | | Started | datetime | YES | | NULL | | | Due | datetime | YES | | NULL | | | Resolved | datetime | YES | | NULL | | | LastUpdatedBy | int(11) | YES | | NULL | | | LastUpdated | datetime | YES | | NULL | | | Creator | int(11) | YES | MUL | NULL | | | Created | datetime | YES | | NULL | | | Disabled | smallint(6) | | | 0 | | +-----------------+--------------+------+-----+--------------+-------------- --+ 24 rows in set (0.00 sec) mysql> describe Watchers -> ; +---------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------+----------------+ | id | int(11) | | PRI | NULL | auto_increment | | Type | varchar(16) | YES | MUL | NULL | | | Scope | varchar(16) | YES | MUL | NULL | | | Value | int(11) | YES | | NULL | | | Email | varchar(255) | YES | MUL | NULL | | | Quiet | int(11) | YES | | NULL | | | Owner | int(11) | YES | MUL | NULL | | | Creator | int(11) | YES | | NULL | | | Created | datetime | YES | | NULL | | | LastUpdatedBy | int(11) | YES | | NULL | | | LastUpdated | datetime | YES | | NULL | | +---------------+--------------+------+-----+---------+----------------+ 11 rows in set (0.01 sec) mysql> describe Users; +-----------------------+--------------+------+-----+---------+------------- ---+ | Field | Type | Null | Key | Default | Extra | +-----------------------+--------------+------+-----+---------+------------- ---+ | id | int(11) | | PRI | NULL | auto_increment | | Name | varchar(120) | | UNI | | | | Password | varchar(40) | YES | | NULL | | | Comments | blob | YES | | NULL | | | Signature | blob | YES | | NULL | | | EmailAddress | varchar(120) | YES | MUL | NULL | | | FreeformContactInfo | blob | YES | | NULL | | | Organization | varchar(200) | YES | | NULL | | | Privileged | int(11) | YES | | NULL | | | RealName | varchar(120) | YES | | NULL | | | Nickname | varchar(16) | YES | | NULL | | | Lang | varchar(16) | YES | | NULL | | | EmailEncoding | varchar(16) | YES | | NULL | | | WebEncoding | varchar(16) | YES | | NULL | | | ExternalContactInfoId | varchar(100) | YES | | NULL | | | ContactInfoSystem | varchar(30) | YES | | NULL | | | ExternalAuthId | varchar(100) | YES | | NULL | | | AuthSystem | varchar(30) | YES | | NULL | | | Gecos | varchar(16) | YES | | NULL | | | HomePhone | varchar(30) | YES | | NULL | | | WorkPhone | varchar(30) | YES | | NULL | | | MobilePhone | varchar(30) | YES | | NULL | | | PagerPhone | varchar(30) | YES | | NULL | | | Address1 | varchar(200) | YES | | NULL | | | Address2 | varchar(200) | YES | | NULL | | | City | varchar(100) | YES | | NULL | | | State | varchar(100) | YES | | NULL | | | Zip | varchar(16) | YES | | NULL | | | Country | varchar(50) | YES | | NULL | | | Creator | int(11) | YES | | NULL | | | Created | datetime | YES | | NULL | | | LastUpdatedBy | int(11) | YES | | NULL | | | LastUpdated | datetime | YES | | NULL | | | Disabled | smallint(6) | | | 0 | | +-----------------------+--------------+------+-----+---------+------------- ---+ 34 rows in set (0.00 sec) ---------------------------------------------- Matthew Watson Development, Netspace Online Systems [EMAIL PROTECTED] --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php