MySql中時(shí)間字段增加函數(shù)索引方式
MySql時(shí)間字段增加函數(shù)索引
在使用索引時(shí),MySQL時(shí)間索引使用函數(shù)后失效
對(duì)表sys_robot_log中的datetime列設(shè)置時(shí)間索引

運(yùn)行查詢指令,使用函數(shù)DATE限定查詢數(shù)據(jù)發(fā)生的日期
select * from sys_robot_log where DATE(datetime) = DATE(now())
使用
explain select * from sys_robot_log where DATE(datetime) = DATE(now())
查看是否使用到索引

type顯示ALL說(shuō)明索引失效
重新將date函數(shù)設(shè)為索引:
alter table sys_robot_log add key idx_date_index((date(datetime)));
select * from sys_robot_log where DATE(datetime) = DATE(now())
使用
explain select * from sys_robot_log where DATE(datetime) = DATE(now())
查看是否使用到索引:

可以看到已經(jīng)使用了索引查詢idx_date_index
需要注意的是MySQL 8.0.13 之前不支持函數(shù)索引,所以老版本不支持函數(shù)索引,需要手工模擬創(chuàng)建或者改 SQL。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
刪除MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單教程
這篇文章主要介紹了刪除MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單教程,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05
MySQL啟動(dòng)報(bào)錯(cuò):Can not connect to MySQL
今天打開(kāi)數(shù)據(jù)庫(kù)出現(xiàn)一個(gè)錯(cuò)誤,ERROR 2003: Can't connect to MySQL server on 'localhost' 的錯(cuò)誤,網(wǎng)上查找原因說(shuō)是我的mysql服務(wù)沒(méi)有打開(kāi),所以本文給大家介紹了MySQL啟動(dòng)報(bào)錯(cuò):Can not connect to MySQL server的解決方法,需要的朋友可以參考下2024-03-03
Mysql從5.6.14安全升級(jí)至mysql5.6.25的方法
這篇文章主要介紹了Mysql從5.6.14安全升級(jí)至mysql5.6.25的方法,本教程講的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下吧2016-08-08
MySQL Join算法原理與性能優(yōu)化實(shí)戰(zhàn)指南(最新推薦)
本文解析MySQL Join算法原理與性能優(yōu)化,涵蓋嵌套循環(huán)、塊嵌套循環(huán)和哈希連接,分析其優(yōu)缺點(diǎn)及適用場(chǎng)景,提供索引優(yōu)化、參數(shù)調(diào)整等實(shí)戰(zhàn)策略,助力提升查詢效率,感興趣的朋友跟隨小編一起看看吧2025-06-06
SQL中where語(yǔ)句的用法及實(shí)例代碼(條件查詢)
WHERE如需有條件地從表中選取數(shù)據(jù),可將WHERE 子句添加到SELECT語(yǔ)句,下面這篇文章主要給大家介紹了關(guān)于SQL中where語(yǔ)句的用法及實(shí)例(條件查詢)的相關(guān)資料,需要的朋友可以參考下2022-10-10
mysql中modify ,change ,rename to的作用和使用場(chǎng)景
在MySQL中,MODIFY、CHANGE 和 RENAME TO都是 ALTER TABLE 語(yǔ)句的一部分,用于修改表的結(jié)構(gòu),但它們的作用和使用場(chǎng)景有所不同,下面給大家介紹mysql中modify ,change ,rename to的作用和使用場(chǎng)景,感興趣的朋友一起看看吧2025-08-08

