MySQL系列
文章平均质量分 56
二码先生
做一个有灵魂的开发
展开
-
MySQL order by 排序使用的字段有重复值导致排序随机的情况
生产环境一个列表页的查询sql:select epc.id, epc.contractName, epc.contractType, epc.officerId,ee.employeeName officerName from er_product_contract epc left join er_employee ee on epc.officerId = ee.employeeId LEFT JOIN simu_product p ON epc.productCode原创 2021-07-15 17:00:33 · 1248 阅读 · 0 评论 -
MYSQL系列(五)事务/事务日志/事务隔离级别
mysql事务事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库 应用该组查询的全部语句,那么执行该组查询。如果其中有任何一条语句应为崩溃或其他原因无法执行, 那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。良好的 事务必须满足四大特性。事务的四大特性原子性(Atomicity): 事务是一个原子操作单元,其对数据...原创 2020-02-14 22:28:06 · 121 阅读 · 0 评论 -
MYSQL系列(四)Explain/Trace的使用
对于mysql的优化或者查看一下sql的执行,我们常用的就是explain,The EXPLAIN statement provides information about how MySQL executes statements. EXPLAIN works with SELECT, DELETE, INSERT, REPLACE, and UPDATE statements。使用EXPL...原创 2020-02-14 17:15:27 · 387 阅读 · 0 评论 -
MYSQL系列(三)索引原理和实现
提到mysql的索引,想必很多人都能说上几句:提高查询效率、优化sql的方式。但是索引的底层实现到底是什么?索引是如何存储的?我们将逐一进行说明。本文涉及到内容包括 什么是索引、mysql中操作索引的语法、索引的物理结构、索引的优缺点、索引的数据结构等。什么是索引MySQL官方对索引的定义为:索引(Index)是帮助mysql高效的获取数据的数据结构。可简单理解为排好序的快速查找数据结构。 也...原创 2020-02-14 16:19:36 · 200 阅读 · 0 评论 -
MySQL系列(二)SQL性能下降的原因/SQL执行顺序
我们在开发过程中,时常会有由于数据量不断地增加,接口相应时间过长的问题的出现,这里面有一部分原因就是因为我们的SQL的性能问题,下面我们来一起讨论下是什么造成了SQL的性能下降的。SQL性能下降的原因1.查询语句写的烂这个原因是由于开发人员,在开发过程中,根本没有考虑SQL性能,纯粹是为了完成任务而工作,或者说是一种不负责任的开发行为。例如 无论表中字段是否需要,总是习惯 select *...原创 2020-02-13 21:58:21 · 253 阅读 · 0 评论 -
MySQL系列(一)mysql架构设计及存储引擎
mysql架构设计1.连接层最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。2.服务层第二层架构主要完成大多数...原创 2020-02-13 21:18:43 · 243 阅读 · 0 评论