MySQL 的索引理解
值得注意的是:SQL 标准并没有为数据库用户提供任何在数据库系统中控制创建和维护索引的防范,由于索引是冗余的数据结构,因此索引对保证正确性来说并不是必须的;但是索引对事务的高效处理十分重要,对完整性约束的有效实施也很重要;如果没有索引的话,MySQL进行全表扫描会对资源进行极大的浪费。
用脑机接口去“搜索一下”,是种什么体验? | CCF C³-03@搜狗
讲真,再熟悉不过的搜索引擎,正影响着我们的思考方式。正如TCP/IP协议之父、图灵奖获得者温顿·瑟夫(Vinton Cerf)认为:搜索引擎,已倾向于成为人类基本记忆的替代品。怎么理解?简单来说,就是很多情况下,我们不再记忆所需的信息本身,而是记住能把它们搜索出来的方法和关键词。而随着我们对搜索引擎的越发依赖,对其...
2021-04-22
如何选择普通索引和唯一索引《死磕MySQL系列 五》
系列文章一、原来一条select语句在MySQL是这样执行的《死磕MySQL系列 一》二、一生挚友redo log、binlog《死磕MySQL系列 二》三、MySQL强人“锁”难《死磕MySQL系列 三》四、S 锁与 X 锁的爱恨情仇《死磕MySQL系列 四》看过前几期文章的伙伴会发现并没有聊过关于索引和事务的知识点,这两个大点再之前的文章中已经写过了。...
2021-12-07
PawSQL Advisor完全指南, 让你告别手动优化SQL的痛苦!
PawSQL Advisor是由PawSQL团队开发的,面向数据库应用开发人员的自动化、智能化SQL优化工具, 它融合了业界关于数据库优化的最佳实践, 从正确性和性能两个方面对SQL进行审查和重写优化;并基于SQL查询的结构、数据库对象的定义及统计信息,提供智能索引推荐功能,帮助数据应用开发人员一键提升应用性能。
2023-07-17
【转载】MySQL索引背后的数据结构及算法原理
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈...
2020-04-08
Elasticsearch系列七:常见用法手册
前面几篇文章介绍了搜索引擎ElasticSearch的内部原理,这篇文章总结了在ElasticSearch使用过程中常见的用法。 1、查看集群信息 ElasticSearch 查看集群健康信息,常用命令如下: 1.1、查看集群状态 ElasticSearch查看集群状态命令: curl 'localhost:9200/_cat/health?v' 其中,status为绿色表示一切正常, 黄色表示所有...
2019-11-07
使用 OpenSearch 的 K-NN 向量搜索来增强搜索功能
许多应用程序都依赖于提供精确且相关的搜索结果的能力。尽管传统关系数据库的全文搜索功能在某些情况下已经足够,但这些数据库在从文本中提取语义含义或搜索结构化程度较低的数据方面可能会出现不足。在这篇博文中,我们将探讨如何使用 DigitalOcean 管理的 OpenSearch 和一组称为 K-Nearest Neighbor 向量搜索 (K-NN) ...
B树和哈希索引的比较
了解B树和哈希数据结构有助于预测查询在这些使用不同索引数据结构的存储引擎上的执行情况,特别是对于MEMORY存储引擎,它是允许您选择B树或哈希作为索引的存储引擎。
Elasticsearch 参考指南(Reindex API)
Reindex API 重建索引要求为源索引中的所有文档启用_source。 重建索引不会尝试设置目标索引,它不会复制源索引的设置,你应该在运行_reindex操作之前设置目标索引,包括设置映射、碎片数、副本等。 _reindex的最基本形式只是将文档从一个索引复制到另一个索引,这会将twitter索引中的文档复制到new_twitter索引中: {代...
有赞搜索系统的技术内幕
上文说到有赞搜索系统的架构演进,为了支撑不断演进的技术架构,除了 Elasticsearch 的维护优化之外,我们也开发了上层的中间件来应对不断提高的稳定性和性能要求。
MySQL的优化利器:索引条件下推,千万数据下性能提升273%🚀
MySQL的优化利器:索引条件下推,千万数据下性能提升273%🚀前言上个阶段,我们聊过MySQL中字段类型的选择,感叹不同类型在千万数据下的性能差异时间类型:MySQL字段的时间类型该如何选择?千万数据下性能提升10%~30%🚀 字符类型:MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀新的阶段我们来聊...
2023-10-25
一键切换Java Jdk厂商/版本BAT脚本
下载安装其他厂商/版本的JDK,目录结构以 /厂商/版本/bin及其他目录的形式放置在仓库中,JavaVersionChoice.bat会自动兼容。
2023-08-01
mysql where and 使用的索引顺序
{代码...} {代码...} {代码...} {代码...} 结果说明:a与b同时不满足条件,使用了最左索引 a {代码...} 结果说明:a满足条件,b不满足条件,使用了索引 b {代码...} 结果说明:a不满足条件,b满足条件,使用了索引 a {代码...} 结果说明:a满足条件,b满足条件,使用了索引符合该条件的行数少的索引b {代码...} 结果说明:a...
2020-12-16
Mysql调优之explain执行计划详解
前言 explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了 explain详解 id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 select_t...
面试视角深度解析:索引冗余 vs 覆盖索引 vs 全表扫描的终极抉择
一、核心概念解析(面试破题关键)1. 索引冗余(Index Redundancy)本质:同一字段存在多个重复或包含关系的索引典型场景重复索引:INDEX(a) 和 INDEX(a)前缀冗余:已有INDEX(a,b,c)时再建INDEX(a,b)隐式覆盖:主键索引与唯一索引的列重叠面试考点如何通过SHOW INDEX识别冗余索引冗余索引对写性能的影响公式:写入耗时 =...
2025-03-16
LeetCode 面试题 08.03. 魔术索引 | Python
魔术索引。 在数组A[0...n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。
2020-07-31
联合索引该如何选择合适的列?
前面一篇文章,松哥和大家聊了 MySQL 中的索引合并,虽然 MySQL 提供了索引合并机制来提升 SQL 执行的效率,然而在具体实践中,如果能避免发生索引合并是最好的,毕竟这是没办法的办法,是一个下下策。发生索引合并大概率是因为我们索引在设计的时候就有问题,设计好联合索引,我们就能在一定程度上避免发生索引合并问题。
2023-05-08