首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询优化以检查MySQL中整个数据库中的列是否最新

问查询优化以检查MySQL中整个数据库中的列是否最新
EN

Stack Overflow用户
提问于 2013-12-24 02:23:29
回答 1查看 56关注 0票数 0

我正在尝试查询mySQL,以检查表中某个列中的值是否已更新。例如,我有一个表,其中有一个列,它保存一个max_age数据。我想检查一下是否更新了max_age。

这是我到目前为止所做的,但我有数千万的数据要通过。我想知道有多少数据没有从整个数据库中更新。是否有优化此查询的方法?

代码语言:javascript
复制
SELECT Count(a.column1) 
FROM   table1 a 
       INNER JOIN table2 b 
               ON a.column1 = b.column2 
       INNER JOIN table3 c 
               ON b.column2 = c.b.column3 
WHERE  a.max_age <> -1 
       AND a.max_age = ( 2013 - c.birth_year ) 


An example: This example the answer returned is 1 because [max_age = (2013 - birth_year)] in third row.

max_age   2013 - birth_year
34            31
27            25
44            44
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-24 10:42:37

表table2在您的查询中似乎毫无用处,因为a.column1 = b.column2和b.column2 = b.column3。这意味着a.column1 = c.column3。然后:

代码语言:javascript
复制
SELECT COUNT(a.column1) FROM table1 a
INNER JOIN table2 b ON a.column1 = c.column3
WHERE a.max_age <> -1
AND a.max_age = (2013 - c.birth_year)

另一方面,如果要进一步优化,可以强制使用索引对查询进行索引,甚至创建视图。

我希望这是有用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20754035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档