Hi Cory,

Cory Robin wrote:
Is there a way to only include certain matching conditions
in indexes?

Example if I have a row I want to index that is mysql dates
(2007-06-07) and I only want to include CURRENT and FUTURE
dates in the index and ignore any past dates.   Is that
possible at all?

The issue I have is that the ratio of queries on old vs.
new data is like 1:100000.   And searches would be MUCH
faster if I could force my queries that are looking at
current or future data to use an index that ONLY had that
information in them..

You can't do this. The strategies to do what you want will usually involve archiving off old data to other tables with fewer indexes, and creating a VIEW over the old and new tables, or moving all old data to a data warehouse, or something like that.

Incidentally, this is exactly what I built MySQL Archiver to do (just released a few days ago):

http://www.xaprb.com/blog/2007/06/06/mysql-archiver-091-released/
http://www.xaprb.com/blog/2006/05/02/how-to-write-efficient-archiving-and-purging-jobs-in-sql/
http://sourceforge.net/projects/mysqltoolkit

Baron

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

Reply via email to