日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL sysdate()函数 不走索引的问题

發布時間:2024/8/26 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL sysdate()函数 不走索引的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面說明了SYSDATE()函數的語法:

SYSDATE(fsp);

SQL

如果函數用于字符串上下文或YYYYMMDDHHMMSS格式,則SYSDATE()函數將返回當前日期時間,格式為“YYYY-MM-DD HH:MM:SS”的值,以防在函數用于數字上下文。

SYSDATE()函數接受一個可選參數fsp,它確定結果是否應該包含從0到6的小數秒精度。

請參見以下示例 -

mysql> SELECT SYSDATE(); +---------------------+ | SYSDATE() | +---------------------+ | 2017-08-10 20:43:16 | +---------------------+ 1 row in set

SQL

如果您傳遞fsp參數,則結果將包括小數秒精度,如以下示例所示:

mysql> SELECT SYSDATE(3); +-------------------------+ | SYSDATE(3) | +-------------------------+ | 2017-08-10 20:43:46.985 | +-------------------------+ 1 row in set

SQL

SYSDATE 與 NOW 比較

請考慮以下示例 -

mysql> SELECT SYSDATE(), NOW(); +---------------------+---------------------+ | SYSDATE() | NOW() | +---------------------+---------------------+ | 2017-08-10 20:44:38 | 2017-08-10 20:44:38 | +---------------------+---------------------+ 1 row in set

SQL

似乎SYSDATE()和NOW()函數都返回一個相同的值,它是執行語句時當前日期和時間。

然而,SYSDATE()函數實際上返回執行時的時間,而NOW()函數返回一個常量時間,該語句開始執行。

請參閱以下查詢:

mysql> SELECT NOW(), SLEEP(5), NOW(); +---------------------+----------+---------------------+ | NOW() | SLEEP(5) | NOW() | +---------------------+----------+---------------------+ | 2017-08-10 20:46:51 | 0 | 2017-08-10 20:46:51 | +---------------------+----------+---------------------+ 1 row in set

SQL

在這個例子中,我們使用SLEEP()函數暫停查詢5秒。 在同一個語句中,NOW()函數總是返回一個常量,它是語句開始的時間。

我們將NOW()函數更改為SYSDATE()函數:

mysql> SELECT SYSDATE(), SLEEP(5), SYSDATE(); +---------------------+----------+---------------------+ | SYSDATE() | SLEEP(5) | SYSDATE() | +---------------------+----------+---------------------+ | 2017-08-10 20:48:14 | 0 | 2017-08-10 20:48:19 | +---------------------+----------+---------------------+ 1 row in set

SQL

在同一個語句中,SYSDATE()函數返回反映SYSDATE()函數執行時間的不同時間值。

因為SYSDATE()函數是非確定性的,索引不能用于評估求值引用它的表達式。

為了演示這個,我們創建一個名為tests的表,并將一些數據插入到這個表中。

CREATE TABLE tests (id INT AUTO_INCREMENT PRIMARY KEY,t DATETIME UNIQUE );INSERT INTO tests(t) WITH RECURSIVE times(t) AS ( SELECT now() - interval 1 YEAR tUNION ALL SELECT t + interval 1 hourFROM timesWHERE t < now() ) SELECT t FROM times;

SQL

請注意,我們使用遞歸CTE來生成時間序列。 CTE從MySQL 8.0開始才有的功能。

因為t列有唯一索引,所以下列查詢應該執行得很快:

SELECT id, t FROMtests WHEREt >= SYSDATE() - INTERVAL 1 DAY;

SQL

但是,需要15ms才能完成。讓我們使用EXPLAIN語句來看看細節。

EXPLAIN SELECT id, t FROMtests WHEREt >= SYSDATE() - INTERVAL 1 DAY;

SQL

執行上面分析語句,得到類似以下結果 -

原來,MySQL必須掃描表中的所有行才能獲取數據。該索引無法使用。

如果在查詢中將SYSDATE()更改為NOW()函數:

SELECT id, t FROMtests WHEREt >= NOW() - INTERVAL 1 DAY;

SQL

使用NOW()函數,索引已被用于查詢數據,如下面的EXPLAIN結果所示:

EXPLAIN SELECT id, t FROMtests WHEREt >= NOW() - INTERVAL 1 DAY;

SQL

請注意,MySQL為您提供了--sysdate-is-now選項,可以使SYSDATE()函數的行為與NOW()函數相同。

?

總結

以上是生活随笔為你收集整理的MySQL sysdate()函数 不走索引的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕第一页亚洲 | 爱逼av | 午夜av剧场 | 中文字幕亚洲激情 | 青青国产视频 | 欧美乱做爰xxxⅹ久久久 | 激情福利 | 国产一级一片免费播放放a 丁香六月色 | 国产精品厕所 | 少妇人妻偷人精品一区二区 | 日本精品久久久久中文字幕 | 国产一区二区三区免费在线观看 | 国模无码视频一区二区三区 | 97久久人人超碰caoprom欧美 | 日日草日日干 | 亚洲精品一区 | 国产成人av免费看 | 免费在线国产 | 国产一区在线视频观看 | 95在线视频| 中国白嫩丰满人妻videos | 99色网| 秋霞7777鲁丝伊人久久影院 | a毛片在线| 亚洲永久网站 | 天天躁日日躁aaaxxⅹ | 国产乱码精品一区二三赶尸艳谈 | 久久看毛片 | 99久久久国产 | 人妻熟女一区二区三区 | 国产人妖在线 | 中文综合网 | 一本大道av伊人久久综合 | 手机看片福利永久 | 亚洲乱码少妇 | 一级全黄男女免费大片 | 成年人视频在线免费看 | 久久国产精品-国产精品 | 国产无遮挡又黄又爽在线观看 | 国产污污 | 青青草原伊人网 | 亚洲综合久久网 | 国产欧美三区 | 精品国产乱码久久久久久浪潮 | 少妇人妻偷人精品视频蜜桃 | 久久久精品视频网站 | 国产一区二区影院 | 中文字幕国产日韩 | 97人人澡人人爽人人模亚洲 | 国产精品老女人 | 蜜桃视频中文字幕 | 九九久久99 | 国产精品一国产精品 | jizzjizz在线播放 | 日韩男人的天堂 | 好吊操免费视频 | 激情视频网站在线观看 | 在线不卡一区 | 91精品一区二区三区综合在线爱 | 欧美女优一区 | 欧美日韩一区二区三区国产精品成人 | 涩涩在线观看 | 日韩视频免费在线观看 | 亚洲激情图 | 成人午夜一区二区 | 中文字幕无线码一区 | 噜噜噜在线视频 | 欧日韩在线观看 | 成人av免费播放 | 肥婆大荫蒂欧美另类 | 日韩欧美国产一区二区三区 | 成人av网站在线 | 欧美色图俺去了 | wwwxxx在线播放 | 华人永久免费 | 99久久99九九99九九九 | 黑人精品一区二区三区不 | 嫩草在线观看 | 精品人妻少妇嫩草av无码专区 | 久久精品男人 | 色吧婷婷 | 国产福利一区二区视频 | 免费av大全| 免费国产成人 | 中文字幕理伦片免费看 | 久久av资源网 | 天堂俺去俺来也www久久婷婷 | 女人天堂av| 91一区二区三区四区 | 超碰日韩在线 | 麻豆视频软件 | 在线观看精品国产 | 亚洲在线观看免费视频 | 久久一二区 | 落日余晖 | 人人插人人看 | 永久免费看片在线观看 | 亚洲欧美乱日韩乱国产 | 欧美操操 |