为什么MySQL字符串不加引号索引失效?《死磕MySQL系列 十一》
群里一个小伙伴在问为什么MySQL字符串不加单引号会导致索引失效,这个问题估计很多人都知道答案。没错,是因为MySQL内部进行了隐式转换。本期文章就聊聊什么是隐式转换,为什么会发生隐式转换。系列文章字符串可以这样加索引,你知吗?《死磕MySQL系列 七》无法复现的“慢”SQL《死磕MySQL系列 八》什么?还在用delete删除...
2021-12-08
MYSQL索引
什么是索引? {代码...} 索引有什么用? {代码...} 一条查询语句,如果没有索引,将对全表进行扫描。 如果所有的数据页面都不在内存中,则需要从硬盘上读取这些页面,从而产生大量的I/O,每次I/O都会消耗一定时间。 最终,总的查询时间,会大的惊人。 使用索引 若此时查询列有个索引,MYSQL 就能快速定位到具体位置,找...
MySQL 优化实战 - 索引篇
通常来说索引使用的数据结构是 B-Tree / B+Tree。以B-Tree为例,假设每个节点存储100个Key,三层的B-Tree 可存储一百万数据,如果将根节点存入内存中的话,只需要读取两次磁盘就可以从100万数据中找到指定数据
MongoDB 索引限制
集合中索引不能超过64个索引名的长度不能超过128个字符一个复合索引最多可以有31个字段
2023-03-04
Neo4j索引笔记之SchemaIndex和LegacyIndex
neo4j包含schema indexes 和 legacy indexes两种类型,两者理念不同且不可互换或兼容,实际应用中应明确检索需求后采用合适的索引。
MySQL存储引擎及索引简介
在信息技术飞速发展的今天,数据库作为信息系统的核心组件,其性能和稳定性直接关系到整个系统的运行效率和用户体验。而MySQL,作为目前最流行的开源关系型数据库管理系统之一,凭借其强大的功能、灵活的扩展性和广泛的应用场景,早已成为众多开发者和企业的首选。
【mysql的设计与优化专题(6)】mysql索引攻略
所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找,而用的最多,并且是mysql默认的就是二叉树算法 BTREE,通过BTREE算法建立索引的字段,比如扫描20行就能得到未使用BTREE前扫描了2^20行的结果,具体的实现方式后续本博客会出一个算法专...
Flutter-解决搜索时数据错乱的问题
春风得意马蹄疾一日看尽长安花 前言 问题描述搜索框中快速输入和删除文本时,在不停的发送网络请求 问题解决解决发送多条网络请求,数据回调正常 解决思路 利用iOS中搜索的思想,在每个网络请求中带上搜索的keyword把keyword当作搜索结果model的属性在每次的model返回时判断当前的属性和最后一次的搜索keyword是否一致一...
2019-09-02
MySQL:强制索引force index与using filesort
**force index本周了解到MySQL索引优化器有时候并不会用到最优的索引,当然这时候大多数时候是因为你索引创建的不合理,导致mysql没有找到最有索引,最优解是优化索引,其次可以使用force index强制当前查询语句使用指定索引
2022-07-10
Mysql索引
7、索引概念:索引index是帮助MYSQL高效获取数据的数据结构。索引是数据结构(树) MYSQL里的索引是B+树索引类似于书的目录SQL优化的原因:性能低,执行时间长,等待时间长,sql语句欠佳(连接查询)、索引失效、服务器参数设置不周SQL编写过程: {代码...} 解析过程 {代码...} 索引的底层原理B+树三层B+树,一个关键字...
2020-12-12
为什么大家都说 SELECT * 效率低?
无论在工作还是面试中,关于SQL中不要用“SELECT *”,都是大家听烂了的问题,虽说听烂了,但普遍理解还是在很浅的层面,并没有多少人去追根究底,探究其原理。
搜索引擎之倒排索引浅析
倒排索引(Inverted Index) 也常被称为反向索引,是搜索引擎中非常重要的数据结构,为什么说它重要呢,我们首先拿一本书《重构 改善既有代码的设计》举个例子:
Github Page搜索工具更新 - 探索功能
探索功能提供了一种快速访问有意思的Github Page的途径,每周探索功能会更新有趣的搜索词条,你可以点击感兴趣的词条来获取该词条对应的Github Page。
2018-12-26
SQL索引hash和B-tree的解读
Hash 索引仅仅能满足"=","IN"和"<=>"查询,不能使用范围查询。 由于 Hash 索引比较的是进行 Hash 运算之后的 Hash 值,所以它只能用于等值的过滤,不能用于基于范围的过滤,因为经过相应的 Hash 算法处理之后的 Hash 值的大小关系,并不能保证和Hash运算前完全一样。
2015-07-22
深入MySQL索引,这篇千万不能错过
索引是对数据库表中一列或多列的值进行排序的一种结构。 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。索引只是提高效率的一个因素,如果你的MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。
2023-10-12
MySQL 索引
InnoDB 表创建的索引最多不能超过 767 个字节(REDUNDANT or COMPACT row format)或 3072 个字节(DYNAMIC or COMPRESSED row format)
2019-10-27
MySQL 联合索引
引言 用户表软删除,要保证手机号唯一且与已删除的用户不冲突,在数据库层面设置了UNIQUE联合索引。 在维基百科没找到联合索引比较官方的定义。 通俗的解释:在某一列上加索引以提升相关语句查询效率,联合索引就是在多个列上加索引。 联合索引 唯一性问题 执行以下语句新建test表用于演示: {代码...} 执行语句,索引创...