Database 查询大型非索引表
我们正在为我们的应用程序开发一个类似CRUD的web界面。为此,我们需要显示来自不同表的数据。有些是巨大的,非常“活着”,有许多行(百万)。有些是小型的配置表 现在,我们希望允许用户在显示的网格上进行过滤、细化、排序、分页等操作。作为用户选择的结果,我们正在构建select查询 出于显而易见的原因,对未编制索引的字段进行筛选将产生一个运行时间相当长的查询。另一方面,索引表的每一列看起来有点“怪异”。我们有超过50行的桌子 我们正在研究ApacheLucene,但据我所知,它很好地帮助我们解决了文本索引问题。但是数字、日期、范围呢?对于上述问题是否有任何解决方案和讨论Database 查询大型非索引表,database,Database,我们正在为我们的应用程序开发一个类似CRUD的web界面。为此,我们需要显示来自不同表的数据。有些是巨大的,非常“活着”,有许多行(百万)。有些是小型的配置表 现在,我们希望允许用户在显示的网格上进行过滤、细化、排序、分页等操作。作为用户选择的结果,我们正在构建select查询 出于显而易见的原因,对未编制索引的字段进行筛选将产生一个运行时间相当长的查询。另一方面,索引表的每一列看起来有点“怪异”。我们有超过50行的桌子 我们正在研究ApacheLucene,但据我所知,它很好地帮助我们解决了文
另外,我必须指出,这个问题只针对用户体验。对于所有应用程序自身的需要,我们都做得很好。您是正确的,一般来说,您不希望允许在非索引字段上使用随机谓词,但是这有多大影响取决于表大小、使用的数据库引擎和用于驱动数据库的机器。有些引擎对于非索引列不是很糟糕,但在最坏的情况下,每个引擎都会退化为顺序扫描。顺序扫描也并不总是像听起来那么糟糕 一些想法
你为什么不试试某种类型的数据仓库呢?你不能既吃布丁,又吃布丁(就像他们说的那样)。