Hi,

I'm working on a table that has about 12 columns against which arbitrary queries must perform really well. Currently there are a lot of indexes on the table, but I'm hitting some problems - and adding more indexes seems a slippery slope (there are ~15 multi-column indexes, I'd like that reduced).

So I'm looking for a way out and I'm currently considering:

* Building a memory table on top of the existing table
* Sphinx indexing and then throw the queries against Sphinx instead
* Using a different "in-memory-DB" like Tokyo Cabinet for the queries
* Building a series of "reporting tables" which each handle a subset of the supported queries

All of the solutions would maintain the current table for consistency and it's acceptable with a couple of minutes lag.

I'm tempted to go for the memory table and update that depending on which rows have been updated in the parent table since last update. Eliminating duplicates could be a challenge, unless I build a new table for each update and then "rename" the tables - but that's costly in terms of memory.

What do people usually do in this situation? Any other solutions to consider?

Thanks,

Morten



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to