MySQL笔记(杂)

字段为null的索引使用

对于name字段,使用select * from table where name is null可以使用索引

但是如果name字段设置为not null,则不会使用索引


SQL_CALC_FOUND_ROWS

在很多分页的程序中都这样写:

SELECT COUNT(*) from `table` WHERE ......;  查出符合条件的记录总数

SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据

这样的语句可以改成:

SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ......  limit M, N;

SELECT FOUND_ROWS();

这样只要执行一次较耗时的复杂查询可以同时得到与不带limit同样的记录条数

第二个 SELECT返回一个数字,指示了在没有LIMIT子句的情况下,第一个SELECT返回了多少行 (若上述的 SELECT语句不包括 SQL_CALC_FOUND_ROWS 选项,则使用LIMIT 和不使用时,FOUND_ROWS() 可能会返回不同的结果)。


DATE_ADD()

DATE_ADD(now(), INTERVAL 1 YEAR);在当前时间+1年

DATE_SUB(now(), INTERVAL 1 DAY);在当前时间-1天


猜你喜欢

转载自blog.csdn.net/qq_17613195/article/details/83316534