I've found a solution so I'm answering to myself, for who can be interested and for asking if I've done something that could affect on some way my DB performances.

I've added an index to both the columns that I use for the ON clause of my left join query, and now it runs at the speed of thought!

can I be happy with this result, or there's something I have not considered?

     Giulio

Il giorno 12/lug/04, alle 14:50, Giulio ha scritto:

Hi all,

I have an audio tracks info table, let's call it Tracks;

every Track can have one or more ' Character' ( it is not a genre, it is something like 'Italian' or 'International' or '80's' or 'evergreen' )

so a track can be 'International' and 'Evergreen', or 'Italian' and '70's')

I have three tables to handle this:

Track
Character
Track_Character ( the intermediate table to handle the Track-Characters connection)


Now, if I want to search all tracks, let's say by title, and have for every track its data and its characters codes, I'm doing something like:

select track.*, track_character.id_character from track left join track_character on track.track_id = track_character.track id where track_title = '%something%' order by track_title

this seems to work, but it is VERY VERY slow, and I'm working with only 4000-5000 track records, most of them having only one track_character record. It can last up to 120 seconds if I leave the title blank, resulting on all tracks listed.

Any Idea on how could I optimize this?

Thanx in advance,

       Giulio

Cantoberon Multimedia srl
http://www.cantoberon.it
Tel. 06 39737052


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




Cantoberon Multimedia srl
http://www.cantoberon.it
Tel. 06 39737052


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



Reply via email to