字段运用函数索引被抑制
发布时间:2022-04-06 11:27:34 所属栏目:MySql教程 来源:互联网
导读:在索引字段上使用函数,该字段的索引将会被抑制。如下案例: 查看表结构: 点击(此处)折叠或打开 mysql show create table test06 G *************************** 1. row *************************** Table: test06 Create Table: CREATE TABLE `test06`
![]() 在索引字段上使用函数,该字段的索引将会被抑制。如下案例: 查看表结构: 点击(此处)折叠或打开 mysql> show create table test06 G *************************** 1. row *************************** Table: test06 Create Table: CREATE TABLE `test06` ( `id` bigint(11) NOT NULL DEFAULT '0', `u_id` bigint(11) NOT NULL, `openid` varchar(100) DEFAULT NULL, `unionid` varchar(100) DEFAULT NULL, `username` varchar(100) NOT NULL, `password` varchar(100) NOT NULL, `create_time` datetime NOT NULL, KEY `idx_test03_id` (`id`), KEY `idx_test03_name` (`username`), KEY `idx_test06_crea_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 使用函数进行查询: 点击(此处)折叠或打开 mysql> select count(*) from test06 where date(create_time)=curdate(); +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (1.00 sec) 不使用函数: 点击(此处)折叠或打开 mysql> select count(*) from test06 where create_time=date_format(curdate(),'%Y-%m-%d'); +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (0.03 sec) 可以看出:查询时间变快很多。 对比一下执行计划: 点击(此处)折叠或打开 mysql> explain select count(*) from test06 where date(create_time)=curdate(); +----+-------------+--------+-------+---------------+----------------------+---------+------+---------+--------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+-------+---------------+----------------------+---------+------+---------+--------------------------+ | 1 | SIMPLE | test06 | index | NULL | idx_test06_crea_time | 5 | NULL | 2009559 | Using where; Using index | +----+-------------+--------+-------+---------------+----------------------+---------+------+---------+--------------------------+ 1 row in set (0.00 sec) mysql> explain select count(*) from test06 where create_time=date_format(curdate(),'%Y-%m-%d'); +----+-------------+--------+------+----------------------+----------------------+---------+-------+------+-------------+ | id | select_type | table | type | possible_keys key | key_len | ref | rows | Extra | +----+-------------+--------+------+----------------------+----------------------+---------+-------+------+-------------+ | 1 | SIMP | test06 | ref | idx_test06_crea_time | idx_test06_crea_time | 5 | const | 1 | Using index | +----+-------------+--------+------+----------------------+----------------------+---------+-------+------+-------------+ (编辑:临夏站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐