假如有这样一条语句:
select sum(A) as A,sum(B) as B,(sum(A)-sum(B)) as C from tablename;
当数据库执行到(sum(A)-sum(B)) as C时,系统会重新算一次sum(A)和sum(B)......我的意思是重新加一次,还是会直接用前面算过的sum(A)和sum(B);感觉如果人性化的话前一种做法比较好;另外,我想比较两个SQL语句的执行时间。
我执行一条语句之后,如果把这个语句再执行一次,第二次的执行时间比第一次要短,是因为第一次的结果已经放到缓存里面了,第二次没有真正查询数据库,只是从缓存里面拿以前的记录。
如果我每次都让它重新计算,不想让缓存里面有以前的记录,该如何做,也就是如何清除缓存啊?
望高手指教,谢谢~~。
select sum(A) as A,sum(B) as B,(sum(A)-sum(B)) as C from tablename;
当数据库执行到(sum(A)-sum(B)) as C时,系统会重新算一次sum(A)和sum(B)......我的意思是重新加一次,还是会直接用前面算过的sum(A)和sum(B);感觉如果人性化的话前一种做法比较好;另外,我想比较两个SQL语句的执行时间。
我执行一条语句之后,如果把这个语句再执行一次,第二次的执行时间比第一次要短,是因为第一次的结果已经放到缓存里面了,第二次没有真正查询数据库,只是从缓存里面拿以前的记录。
如果我每次都让它重新计算,不想让缓存里面有以前的记录,该如何做,也就是如何清除缓存啊?
望高手指教,谢谢~~。
解决方案 »
- mysql查询全字段出不了结果,查个别字段就出,求解
- mysql 3306 端口 没法向外访问
- You have an error in your SQL syntax???错误如下,怎么办?
- 关于mysql删除记录时的主键回滚问题
- 请问如何给nysql一个字段加上注视说明?
- 怎样才能让mysql的id自动增量从1开始.
- 请问怎么把windows 中的mysql数据库转移到linux-mysql??? 这数据库的表名及数据都是中文的!
- 那篇介绍多种Open Source数据库的文章找不到了。
- 在一张表中如何查询父子节点中的数据。
- 如何将数组导入到mysql的不同记录的相同字段中 (一列)?
- 关于MySQL 和 PostgreSQL 的两个问题
- sql两个表联合查询的一个例子。求解
直接用前面算过的sum(A)和sum(B)
手册中语法说明中就有!SQL_NO_CACHE
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name' export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]