
mysql
文章平均质量分 64
qq_1757537040
这个作者很懒,什么都没留下…
展开
-
一篇理解-链表,哈希表,二叉树,平衡二叉树,B树,B+树
链表:链表的概念:链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表的结构是多式多样的,当时通常用的也就是两种:无头单向非循环列表:结构简单,一般不会单独用来存放数据。 实际中更多是作为其他数据结构的子结构,比如说哈希桶等等。带头双向循环链表:结构最复杂,一般单独存储数据。实际中经常使用的链表数据结构, 都是带头双向循环链表。这个结构虽然复杂, .原创 2022-03-27 15:36:14 · 1920 阅读 · 0 评论 -
mycat的安装使用(技术篇)
第一章:概念1.为什么要拆分:①MySQL 实例内部结构1.单一架构[2]复制架构:尽管搭建了复制架构,但是实际上从逻辑上来说仍然只有一个 db_hr 数据库。②性能瓶颈MySQL 工作过程中的性能瓶颈主要来自于下面三个方面(同等硬件条件下):数据存储量:单表 1000 万条数据达到极限;500 万条开始性能明显下降;300 万条开始就应该考虑拆分。 I/O 瓶颈:关系型数据库以硬盘作为主要存储介质,所以必然存在 I/O 瓶颈。 访问量瓶颈:通常 MySQL 的最原创 2022-03-15 12:37:00 · 556 阅读 · 0 评论 -
mysql优化(排序分组优化)
总结:order by子句需要配合limit子句才能让索引生效如果涉及多个字段的排序,那么这些字段的排序方向一定要一致(要么都是升序,要么都是降序)否则失效。测试order by分组测试排序方向的影响1.单路排序和双路排序如果order by排序的时候,索引生效就在内存中进行排序,如果索引不生效就只能文件中排序,执行 filesort 又分两种不同情况:- 双路排序: - 特征:两批 I/O - 对应的 MySQL 版本:4.1 ...原创 2022-03-12 23:23:10 · 1313 阅读 · 0 评论 -
mysql优化(子查询优化)
1.结论:在实际开发中,能够不用子查询尽量不用子查询。综合对比:- 从执行顺序来说:关联查询的 id(1,1) 比 子查询的 id(1,2) 要好- 从查询的类型来说:ref 比 index 要好两个级别原创 2022-03-12 22:30:49 · 461 阅读 · 0 评论 -
mysql优化(关联查询优化)
1.准备数据#分类CREATE TABLE IF NOT EXISTS `class` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`card` INT(10) UNSIGNED NOT NULL,PRIMARY KEY (`id`));#图书CREATE TABLE IF NOT EXISTS `book` (`bookid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`card` INT(1原创 2022-03-12 22:18:00 · 2697 阅读 · 0 评论 -
mysql优化(索引失效)
where 子句部分和最左原则对照,看是否生效的口诀:带头大哥不能死,中间兄弟不能断简单来说就是:MySQL 在决定是否要应用索引时,会对照 SQL 语句中要过滤的字段的顺序和索引中字段的顺序。那么具体是怎么对照的呢?请看下面的细节:所有有过滤功能的子句都会将相关字段去和索引尝试匹配:- ON 子句- WHERE 子句- GROUP BY 子句- HAVING 子句- LIMIT 子句1.创建联合索引:按照这个索引创建方式,索引中字段的顺序是:age、deptid、NAME原创 2022-03-12 22:05:11 · 1307 阅读 · 0 评论 -
mysql优化(Explain分析)
1.概念①MySQL 内优化器mysql体系结构中,包含sql解析器,优化器等组件,sql解析器解析sql之后,生成解析树,经过验证,解析树如果正确后,由优化器进一步优化解析树,最终形成一个执行计划(profile)②Explain 分析使用explail关键字可以模拟优化器执行sql语句的查询,从而知晓mysql是如何处理你的sql语句的,分析你的查询语句或是表结构的瓶颈explain各个参数的介绍:id:在一个大的查询语句中每个SELECT关键字都对应一个唯一的idselec原创 2022-03-12 20:59:48 · 1255 阅读 · 0 评论 -
mysql的优化(慢查询)
1.修改配置文件的配置:在mysql的配置文件的末尾加上如下配置(my.ini my.cnf)# 设置为 1 表示开启这项功能log_bin_trust_function_creators=1#如果无法生效,则使用如下命令让它暂时生效SET GLOBAL log_bin_trust_function_creators = 1;2.构建数据:(注意直接复制)# 创建数据库create database db_hr_sys;# 使用数据库use db_hr_sy..原创 2022-03-12 18:30:52 · 587 阅读 · 0 评论 -
mysql的逻辑结构
1.总述:和其它数据库有所不同,MySQL 的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,『插件式』的『存储引擎架构』将查询和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。2.连接层:最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP 的通信。主要任务是连接处理、授权认证、及相关的安全方案等。该层引入了线程池,为通过认证、安全接入的客户端提供线程原创 2022-03-12 13:36:39 · 4189 阅读 · 0 评论 -
mysql的索引
1.概念介绍:单列索引:一个索引只是根据一个字段创建的,里面只包含单个列,一个表可以有多个单值索引## create index 索引名称 on 要建立索引的字段所在的表(要建立索引的字段);create index id_customer_name on t_customer(customer_name)联合索引:一个索引包含多个列# create index 索引名称 on 要建立索引的字段所在的表(要建立索引的字段,...,要建立索引的字段);create index idx_原创 2022-03-12 13:06:19 · 472 阅读 · 0 评论 -
mysql面试题(4)
61.Mysql 中使用什么存储引擎?存储引擎称为表类型,数据使用各种技术存储在文件中。技术涉及:Storage mechanismLocking levelsIndexingCapabilities and functions.62.Mysql 驱动程序是什么?以下是 Mysql 中可用的驱动程序:PHP 驱动程序JDBC 驱动程序ODBC 驱动程序CWRAPPERPYTHON 驱动程序PERL 驱动程序RUBY 驱动程序CAP11PHP 驱动程序Ado.net5.原创 2022-02-12 23:31:39 · 116 阅读 · 0 评论 -
mysql面试题(3)
41.MySQL优化 开启查询缓存,优化查询 explain你的select查询,这可以帮你分析你的查询语句或是表结构的性能瓶颈。 EXPLAIN 的查询结果还会告诉你你的索引主键被如何利用的,你的数据表是如何被搜索 和排序的 当只要一行数据时使用limit 1,MySQL数据库引擎会在找到一条数据后停止搜索,而不 是继续往后查少下一条符合记录的数据 为搜索字段建索引 使用 ENUM 而不是 VARCHAR。如果你有一个字段,比如“性别”,“国家”,“民族”,原创 2022-02-11 23:27:03 · 526 阅读 · 0 评论 -
mysql面试题(2)
21.MySQL有哪些日志,分别是什么用处?mysql日志一般分为5种错误日志:-log-err (记录启动,运行,停止mysql时出现的信息)二进制日志:-log-bin (记录所有更改数据的语句,还用于复制,恢复数据库用)查询日志:-log (记录建立的客户端连接和执行的语句)慢查询日志: -log-slow-queries (记录所有执行超过long_query_time秒的所有查 询)更新日志: -log-update (二进制日志已经代替了老的更新日志,更新日志在MyS..原创 2022-02-03 23:32:29 · 701 阅读 · 1 评论 -
mysql面试题(1)
1.什么是索引?索引是一种数据结构,可以帮助我们快速的进行数据的查找。2.索引是个什么样的数据结构呢?索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索 引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引。3.Hash索引和B+树索引有什么区别或者说优劣呢?首先要知道Hash索引和B+树索引的底层实现原理:hash索引底层就是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行 回表查询获得实际数原创 2022-02-01 23:28:11 · 617 阅读 · 0 评论 -
mybatis面试题
1.mybatis 中 #{}和 ${}的区别是什么?2.mybatis 有几种分页方式?3.RowBounds 是一次性查询全部结果吗?为什么?4.mybatis 逻辑分页和物理分页的区别是什么?5.mybatis 是否支持延迟加载?延迟加载的原理是什么?6.说一下 mybatis 的一级缓存和二级缓存?7.mybatis 和 hibernate 的区别有哪些?8.mybatis 有哪些执行器(Executor)?9.mybatis 分页插件的实现原理是什么?10.原创 2022-01-30 09:22:05 · 388 阅读 · 0 评论 -
mysql的事务隔离级别
1.mysql事务的属性:ACID1. 原子性(Atomicity)原子性是指事务是一个不可分割的工作单元,事务中的操作要么都发生,要么都不发生。2. 一致性(Consistency)事务必须使数据库从一个一致性状态变换到另一个一致性状态。3. 隔离性(Isolation)事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。4. 持久性(Durability)持久性是指一个事务一旦被提原创 2022-01-19 22:56:46 · 1122 阅读 · 0 评论 -
2021-11-01 mysql命名规范
1.【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint ( 1表示是,0表示否)。 说明:任何字段如果为非负数,必须是 unsigned。 正例:表达逻辑删除的字段名 is_deleted,1 表示删除,0 表示未删除。2.【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只 出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。 说明:MySQL 在 Windows 下不区分大小写,原创 2021-11-01 20:05:40 · 807 阅读 · 0 评论 -
mysql存储引擎
1.什么是存储引擎数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。现在许多数据库管理系统都支持多种不同的存储引擎。MySQL 的核心就是存储引擎。提示:InnoDB 事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。MySQL 5.5.5 之后,InnoDB 作为默认存储引擎。MyISAM 是基于 ISAM 的存储引擎,并对其..原创 2021-11-01 10:59:40 · 121 阅读 · 0 评论