mysql 查询 not null,Mysql查询is null,is not null,!=使用或索引

引言

建表语句

CREATE TABLE `test` (

`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',

`account_id` varchar(50) NOT NULL COMMENT '账号',

`account_name` varchar(50) COMMENT '账号名',

`create_time` datetime NOT NULL COMMENT '创建时间',

`update_time` datetime NOT NULL COMMENT '更新时间',

PRIMARY KEY (`id`),

KEY `ak_test_account_id` (`account_id`),

KEY `ak_test_account_name` (`account_name`)

) ENGINE=InnoDB COMMENT='测试表';

插入数据

def main():

with connection.cursor() as cursor:

sql = 'insert into test (account_id, account_name, create_time, update_time) values(%s,%s,now(),now())'

cursor.execute(sql, ("1000", None))

cursor.execute(sql, ("1001", None))

cursor.execute(sql, ("1002", None))

values = []

for i in range(100):

salt = ''.join(random.sample(

string.ascii_letters + string.digits, 8))

one = [salt, "tom"]

values.append(one)

for i in range(1000):

salt = ''.join(random.sample(

string.ascii_letters + string.digits, 8))

one = [salt, "jack"]

values.append(one)

n = cursor.executemany(sql, values)

connection.commit()

查询结果

73cd91ee1f71

mysql_q.png

查询结果分析

由图可知,is null, is not null, !=查询, 是可以使用索引的。这和mysql的查询优化有关。不要轻易被网上的一些文章误导。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值