【发布时间】:2012-11-17 03:29:20
【问题描述】:
我有一个包含大约 400 万行以上的 MySQL 表。假设表格如下:
表Person中的列:
IdNameAgeMarital StatusEducation Level- '位置国家'
- '描述'
当我基于Age 运行查询时,我还希望汇总具有不同婚姻状况以及不同“教育水平”和“所在国家/地区”的同龄人。
当我运行基于年龄和教育水平的查询时,我还希望汇总具有相同年龄和教育水平、不同婚姻状况以及不同“位置国家/地区”的人。
例如,发出的查询是SELECT * FROM Person WHERE Age = 27;。我还想要SELECT Education Level, COUNT(*) FROM Person WHERE Age = 27 GROUP BY Education Level; 和SELECT Location Country, COUNT(*) FROM Person WHERE Age = 27 GROUP BY Location Country; 产生的结果
此外,当我必须根据描述中的关键字进行搜索并希望对其他每一列进行汇总计数时,这对我来说变得更具挑战性。我正在开发的应用程序是一种搜索引擎。这可以在 Ebay 等网站上看到,
我可以单独运行这些查询。但是,对于 400 万行,GROUP BY 查询将花费大量时间。这是一个互联网应用程序,查询应在几秒钟内完成。
任何帮助将不胜感激。
【问题讨论】: