最近公司希望将企业系统中的多个表的查询字段变成用户自定义组合查询,这意味着用户可以随机选择十张表中的任意n个字段进行组合查询,而且呈现的结果只包含用户选的这n个字段,同时还希望优化查询性能,考虑过用临时表,但是临时表也是要确定字段才可以实现,有什么其他方法可以实现吗?

解决方案 »

  1.   

    考虑性能,不建议用临时表,用既有的表,表的索引可以优化查询效率,其实效率主要不在选的字段,而在于定义的where条件,所以对可能存在的where条件的列建立好索引是提高查询效率的好方法;至于自定义查询的实现方法无非是动态拼sql,用户点选的列及表都是可以获取到的,这个细心点组织下sqlstring都能实现,无须赘言。