我知道varchar_pattern_ops存在于Postgresql中,用于在LIKE查询中进行基于索引的快速搜索,但是MySQL是否有类似的功能?

目前,我有一个Django-MySQL设置,其中有此查询,该查询在未索引字段上运行并具有BINARY LIKE操作,并且需要一分钟才能完成.

我的查询是从文本开头-text%进行部分搜索.

这是表结构.该表实际上包含20多个字段,但是我仅包含主键和要搜索的字段

+---------+---------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------------------------+---------------+------+-----+--

| id | varchar(255) | NO | PRI | NULL | |

| mid | varchar(255) | NO | MUL | NULL | |

这是查询-

select count(*) from table where mid binary like 'text%';

这些是索引-

PRIMARY KEY index has cardinality 102820460

mid index has cardinality 756032

解决方法:

做一个事实,即MySQL索引字符串的左侧.

如果查询使用通配符右侧,则字符串列可以使用索引:

SELECT * FROM your_table WHERE field LIKE "text%" # can use an index

但请记住,对于索引,限制为767个字节

从Mysql DOC

A B-tree index can be used for column comparisons in expressions that

use the =, >, >=,

used for LIKE comparisons if the argument to LIKE is a constant string

that does not start with a wildcard character.

标签:mysql,database-indexes

来源: https://codeday.me/bug/20191011/1896326.html

mysql binary like,在MySQL中为BINARY LIKE操作建立索引相关推荐

  1. mysql 回表查询优化_MySQL中的回表查询与索引覆盖:一次百万级别分页查询使用Limit 从90秒到0.6毫秒的优化...

    这里写目录标题 事故现场 解决方案 提到的"回表查询" InnoDB的索引 什么是回表查询 怎么优化回表查询 事故现场 数据库使用的MySQL,有一个日志表,需要进行分页查询,于是 ...

  2. mysql to char 用法_postgresql 中的to_char()常用操作

    postgresql中的to_char()用法和Oracle相比,多了一个参数. to_char(待转换值,转换格式); 常用转换格式有2种: 一个是写若干个0,如果待转换的值位数少于于你定义的转换格 ...

  3. django mysql 过滤所有id_Django数据库中常用的过滤操作

    # 获取所有数据,返回QuerySet,里面包含的是对象 models.DjangoInfo.objects.all() # 获取所有的id,name数据,返回QuerySet,里面包含的是字典 mo ...

  4. mysql 数据索引使用_mysql数据库正确建立索引及使用

    普通mysql运行,数据量和访问量不大的话,是足够快的,但是当数据量和访问量剧增的时候,那么就会明显发现MySQL很慢,甚至down掉,那么就要考虑优化我们的mysql了.其中优化mysql的一个重要 ...

  5. 【转】 MySQL索引类型一览 让MySQL高效运行起来 mysql索引注意事项

    索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytabl ...

  6. mysql 建索引_mysql数据库正确建立索引及使用

    普通mysql运行,数据量和访问量不大的话,是足够快的,但是当数据量和访问量剧增的时候,那么就会明显发现MySQL很慢,甚至down掉,那么就要考虑优化我们的mysql了.其中优化mysql的一个重要 ...

  7. SQL Server MYSQL 对外键建立索引的必要性

    背景: 大家知道在定义外键时,都会给出on delete .....   on update .....: 这里指定的就是当主表的列发生变化时,从表的列要用怎么样的变化去迎合.对从表中的外键,建立索引 ...

  8. 05-Oracle中的对象(视图,索引,同义词,系列)

    本章主要内容: 1.视图管理:视图新增,修改,删除: 2.索引管理:索引目的,创建,修改,删除: 3.同义词管理:同义词的作用,创建,修改,使用及删除: 4.系列管理:系统作用,系列创建.修改.使用及 ...

  9. mysql binary blob区别_SQL中binary 和 varbinary的区别 blob

    binary 和 varbinary 固定长度 (binary) 的或可变长度 (varbinary) 的 binary 数据类型. binary [ ( n ) ] 固定长度的 n 个字节二进制数据 ...

最新文章

  1. eureka java_spring cloud 入门系列二:使用Eureka 进行服务治理
  2. mysql out返回结果_在MySQL的存储过程的OUT参数中返回结果集
  3. hdu 3449(依赖背包)
  4. 求点被多少个矩形覆盖
  5. [HDU] 3491 Thieves
  6. Windows下Goland的环境搭建
  7. 2017-2018-2 1723《程序设计与数据结构》每周成绩 (更新完毕)
  8. 最简单的基于FFmpeg的封装格式处理:视音频分离器(demuxer)
  9. LeetCode刷题——344. 反转字符串
  10. Hive窗口函数应用:级联累加求和场景
  11. Java后端根据身份证号计算年龄
  12. 心田花开:小学三年级语文下册古诗词整理【全】
  13. 论文笔记: FSA-Net
  14. python基础程序设计与面向对象程序设计_python基础——面向对象的程序设计
  15. SupeSite模板中的代码代表什么意思
  16. java 把文件压缩成zip文件
  17. 暑期实训二20220621
  18. 如何删除 顽固文件/文件夹
  19. 一些感觉挺有意思的例子
  20. 用cmd实现清理系统垃圾

热门文章

  1. Django模板层:模板继承 extends标签和block标签,csrf_token标签
  2. Python项目实践:基本统计值计算
  3. docker项目部署 php_docker部署php的web项目
  4. git 打tag_团队开发中的 Git 实践
  5. IDEA添加mybatis-mapper的模板
  6. php curl 发送checkbox,使用curl 提交表单(多维数组+文件)数据到服务器的有关问题...
  7. CSS中定义多个链接样式,在CSS中定义【导航栏】超链接样式
  8. vb 通过php连接mysql数据库连接_php连接mysql数据库
  9. Unity2020.1中如何安装DOTS的Entities包?
  10. 如何高效的将 DataReader 转成 List<T> ?