Is the solution that you created a new table which is receiving a copy of
some rows (essentially materialized view) ?   otherwise I don't see what
is allowing a speed change.

Marco De Felice wrote:
>
> Hi
>
> I have a huge "Agents" table with many relations and a "Orders" table
> with agent field related via r_agent to Agents.
>
> When I filter like orders.r_agent.has(Agents.name.ilike("test")) the
> query is too slow.
> I came up with creating a view "Agents_small" on the database Agents
> table whith only a few fields and no relations, ending up with two
> relations on the Orders table like the following:
>
> sqorm.mapper(Order, self.orders_table, properties = {
> 'r_agent' : sqorm.relation(Agents,
>      ...
>                       lazy=False, uselist=False, cascade="none"),
>
> 'r_agent_small' : sqorm.relation(Agents_small,
>      ...
>                       foreign_keys=self.orders_table.c.agent,
>                       lazy=False, uselist=False, cascade="none"),
>
> Now i can use the r_agent_small relation when I have to partialize and
> it is really faster. I use the r_agent when I have to load all related
> attributes.
>
> Is this solution a good one? Should I do something different inside
> sqlAlchemy instead?
>
> thanks
>
> >
>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to