文章目录什么是索引?为什么要使用索引(优缺点)?索引有哪几种类型?索引使用场景有哪些?索引基本原理索引创建方式有哪几种?如何删除索引?主键索引与唯一索引区别?什么是覆盖索引?聚集索引和辅助索引(非聚集索引区别?索引数据结构有哪些?非聚簇索引一定会回表查询吗?索引设计原则?使用索引一定能够提高查询性能吗?什么是最左前缀原则(最左匹配原则)?B+树与B树?知道explain吗?说一
1、数据库设计数据库设计重要性:减少冗余,提高性能、易维护数据库设计步骤:1、收集信息、标识对象、标识属性、标识关系(一对一、一对多、多对一、多对多)E-R图:属性:定义实体性质、实体特征实体:数据项(属性)集合关联:实体之间相互连接方式简单理解一下就可以了数据库规范化:第一范式(1NF):每列都应该是原子性,五重复域第二范式(2NF):在第一范式基础上属性完全依赖于主键第三范式
分布式系统设计考虑点开源代码选取:(稳定性和性能)1、空间换时间1.1、多级缓存、静态化 - CDN静态内容分发网络 - 客户端界面缓存(304,界面无更新) - 反向代理缓存(静态界面缓存在Apache,后端无需请求web) - 应用端缓存(memcache,redis等,区别键值对用mem,持久化复杂用redis) - 数据库、中间件(buffer、cache等)。1.2、索引
    1.学习背景            最近终于有时间静下心来,好好钻研一下Mysql了,特此开了Mysql系列文章,与大家一起分享小生心得体会,有错误地方,欢迎各位大佬指正。其实说起钻研mysql也并非是一时兴起,应该是蓄谋已久。现在微服务搞得可以说是如火如荼,我所在公司也受到这股浪潮
(四)其他书上没有的索引使用经验总结  1、用聚合索引比用不是聚合索引主键速度快  下面是实例语句:(都是提取25万条数据)  select gid,fariqi,neibuyonghu,reader,title from Tgongwen  where fariqi='2004-9-16'  使用时间:3326毫秒  select gid,fariqi,neibuyonghu,reader,t
游标 在操作mysql时候我们知道MySQL检索操作返回一组称为结果集行。这组返回行都是与 SQL语句相匹配行(零行或多行)。使用简单 SELECT语句,例如,没有办法得到第一行、下一行或前 10行,也不存在每次一行地处理所有行简单方法(相对于成批地处理它们)。有时,需要在检索出来行中前进或后退一行或多行。这就是使用游标的原因。游标( curs
转载 2024-01-04 06:15:05
30阅读
一、概述Mysql5.7版本自带4个数据库,information_schema、mysql、performance_schema、sys。其中mysql库是MySQL核心数据库,类似于sql server中master表,它包含存储MySQL服务器运行时所需信息表,mysql库共计31张表。主要负责存储数据库用户、权限设置、关键字等mysql自己需要使用控制和管理信息。二、mysql
ELK-全文检索技术-lucene   ELK   :  ELK是ElasticSearch,LogStash以及Kibana三个产品首字母缩写 一.倒排索引学习elk,必须先掌握倒排索引思想, 二.什么是全文检索?诸如传统正序查询(数据库查询),如果用到京东或淘宝上,用户输入关键
转载 2024-03-08 20:51:20
67阅读
InnoDB和MyISAM使用了b+树和b树作为索引组织方式。在这些结构中,索引深度是个关键因素。当查找被索引行时,查找会在索引上从根到叶子执行。假设这些索引不在内存中,索引深度就代表了查找(IO)代价。当然,我们希望大部分查找都在内存中执行(被cache在内存中)。尽管如此,索引深度仍然是一个重要因素。索引深度越深,查找越慢。那么什么影响了索引深度?虽然有相当多结构问题,但可
# MySQL Log Dump:基础入门指南 ## 什么是MySQL Log Dump? MySQL Log Dump是一种用于将MySQL数据库二进制日志和查询日志导出工具。它通常用于数据恢复、审计或迁移目的。在处理MySQL数据库时,掌握日志导出和管理非常重要。 ## 实现流程 下面是实现MySQL Log Dump流程: | 步骤 | 描述
原创 2024-09-29 03:30:24
60阅读
MySQL提供了诸多种类日志,帮助DBA获得数据库运行状况。MySQL日志类型说明error log数据库启动、运行、停止时产生该日志general query logclient执行语句时产生该日志binary log数据库内容发生变更时产生该日志,主从复制也通过binarylog来实现relay log从库上收到主库数据更新时产生该日志slow query logSQL语句在数据库查询超过
转载 2024-09-03 17:00:48
38阅读
# MySQL视图简介及实现流程 ## 什么是视图? 在MySQL中,视图是一种虚拟表,它并不实际存储数据,而是基于查询从一个或多个表提取数据显示。当我们需要以更简明、结构化方式来访问复杂数据时,视图显得尤为重要。视图能够简化查询、提升数据安全性以及便于数据维护。 ## 视图用途 1. **简化复杂查询**:将复杂SQL查询封装为视图,用户后续可以直接查询视图而不必考虑背后
原创 9月前
140阅读
本文缘起自《一分钟了解索引技巧》作业题。假设订单业务表结构为:order(oid, date, uid, status, money, time, …)其中:oid,订单ID,主键date,下单日期,有普通索引,管理后台经常按照date查询uid,用户ID,有普通索引,用户查询自己订单status,订单状态,有普通索引,管理后台经常按照status查询money/time,订单金额/时间,被查询
Inodb 引擎1,每个新建索引,都需要考虑清楚看是否是必须,很多新建索引不仅不会提高 sql 语句效率,反而会增加维护索引成本     对于 Inodb B-Tree,如果是非聚簇索引,每次检索都需要进行两次(本身+主键,此处不过多解释),所以当存在索引 (B),A是主键,就没有必要再建立索引(B, A),除非需要 order by a 才需要用到组合索
转载 2024-06-14 18:56:02
75阅读
为什么要学数据库?因为要更加高效存储和使用数据,所以必须要学会使用数据库,当然这也分为简单增删改查以以及高级操作。那么数据库(Mysql)到底是什么?数据库本质就是存储和管理数据,方便查找,基本功能就是增删改查。而Mysql就是其中应用比较广泛数据库,类似Excel表格形式更加直观。怎么使用数据库?数据库一些关键词数据库: 数据库是一些关联表集合,也可以简单看做一个文件夹包含很多数据
MySQL Server层对象解读一条查询语句从连接上MySQL服务器到返回数据这个过程在MySQL中还是有点复杂下面我们我们就以此为突破口,来了解哈MySQL各个功能模块执行过程大致上来说:MySQL可以分为Server层和储存引擎层两部分Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等
转载 2023-11-28 09:24:24
25阅读
一、索引概念 索引就是加快检索表中数据方法。数据库索引类似于书籍索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要信息。在数据库中,索引也允许数据库程序迅速地找到表中数据,而不必扫描整个数据库。二、索引特点 1.索引可以加快数据库检索速度 2.索引降低了数据库插入、修改、删除等维护任务速度 3.索引创建在表上,不能创建在视图上 4.索引既可以直接创建,也可以间接创建
转载 2024-02-29 07:53:55
36阅读
   刚开始接触C#语言,和之前学过VB语言相比,还是存在一些相同之处和不同之处。刚刚看完了一部分视频。视频中都是对基础知识讲解。老师很逗,讲解很细致。        1、.net是什么?:.net一般指得是.net FrameWork框架,是一种平台,一种技术体系。它由.NET Framework类库(FCL)和公共语言运行库(
转载 2023-08-12 14:00:17
99阅读
概述引入:为什么要使用索引?为了提高查找效率,例如:在找一个年龄为10岁的人时,会进行全表扫描,即使找到了,也会全部扫描一遍。这样显然会使查询效率大大降低,此时引入索引概念。索引既有优势也会有劣势:优势劣势提高数据检索效率,降低数据库IO成本索引列需要占用空间通过索引列对数据进行排序,降低数据排序成本,降低CPU消耗索引大大提高了查询效率,同时却也降低更新表速度,如对表进行INSER
转载 2023-10-19 10:43:01
86阅读
MySQL数据类型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它们都有各自作用,下面我们就主要来介绍一下MySQL数据类型中DECIMAL类型作用和用法。一般赋予浮点列值被四舍五入到这个列所指定十进制数。如果在一个FLOAT(8, 1)列中存储1. 2 3 4 5 6,则结果为1. 2。如果将相同值存入FLOAT(8, 4) 列中,则结果为1. 2 3
  • 1
  • 2
  • 3
  • 4
  • 5