战狂粗人张

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  MySQL

1 2 下一页

摘要:前言: 方法1 直接使用数据库提供的SQL语句。 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N。 适应场景: 适用于数据量较少的情况(元组百/千级)。 原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的 阅读全文
posted @ 2022-03-14 02:28 战狂粗人张 阅读(301) 评论(0) 推荐(0) 编辑

摘要:一、like(完全模糊,即“like '%val%'”) 实例:查询用户名称中包含“王”值的用户信息,如下: QueryWrapper<UserBean> wrapper = new QueryWrapper<>(); wrapper.like("name", "王"); // 等价 SQL 语句: 阅读全文
posted @ 2021-12-28 18:01 战狂粗人张 阅读(784) 评论(0) 推荐(0) 编辑

摘要:一、直接上SQL select dept_id from ( select t1.dept_id,t1.parent_id, if(find_in_set(parent_id, @pids) > 0, @pids := concat(@pids, ',', dept_id), 0) as ischi 阅读全文
posted @ 2021-11-26 18:26 战狂粗人张 阅读(3129) 评论(0) 推荐(0) 编辑

摘要:一、业务场景 业务需要根据一个子节点查询出根节点的信息。做无限分类经常用到。 二、表结构 CREATE TABLE `t_busi_system` ( `ID` varchar(64) NOT NULL COMMENT '标识', `PARENT_ID` varchar(64) DEFAULT NU 阅读全文
posted @ 2021-08-20 18:09 战狂粗人张 阅读(477) 评论(0) 推荐(0) 编辑

摘要:一、为什么要分库分表? 分库分表是两回事儿,可能是光分库不分表,也可能是光分表不分库,都有可能。 分表是啥意思?就是把一个表的数据放到多个表中,然后查询的时候你就查一个表。比如按照用户id来分表,将一个用户的数据就放在一个表中。然后操作的时候你对一个用户就操作那个表就好了。这样可以控制每个表的数据量 阅读全文
posted @ 2021-05-08 17:56 战狂粗人张 阅读(304) 评论(0) 推荐(0) 编辑

摘要:一、背景 在做电商项目时,会遇到这样的一种情况,mysql数据库中商品表tb_product里面有个字段type,它存储的是商品类型,比如: 1:热门推荐; 2:精选推荐; 3:品牌商品等。 有些商品既属于热门推荐,也属于精选推荐,同时还是品牌商品,系统中type中用 1,2,3 这样的格式存储。 阅读全文
posted @ 2021-02-26 15:09 战狂粗人张 阅读(242) 评论(0) 推荐(0) 编辑

摘要:原理如图所示: 阅读全文
posted @ 2021-02-19 11:32 战狂粗人张 阅读(37) 评论(0) 推荐(0) 编辑

摘要:一.优化概述 1、为什么要优化? (1)系统的吞吐量瓶颈往往出现在数据库的访问速度上; (2)随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢; (3)数据是存放在磁盘上的,读写速度无法和内存相比; 2、如何优化? 查询速度优化、数据库结构优化、MYSQL服务器优化 原则是减少系统 阅读全文
posted @ 2020-05-28 21:36 战狂粗人张 阅读(200) 评论(0) 推荐(0) 编辑

摘要:一.介绍 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。 索引优化应该是对查询性能优化最有 阅读全文
posted @ 2020-05-25 17:58 战狂粗人张 阅读(179) 评论(0) 推荐(0) 编辑

摘要:一.概念 sharding-jdbc是当当网开源的一款客户端代理中间价。sharding-jdbc包含分库分片和读写分离功能。 对应用的代码没有侵入型,几乎没有任何改动,兼容主流orm框架,主流数据库连接池。目前属于apache的孵化项目shardingSphere,发展迅猛。sharding-jd 阅读全文
posted @ 2020-05-25 16:00 战狂粗人张 阅读(1281) 评论(0) 推荐(0) 编辑

摘要:一.Mycat简介 这个中间件可以说是很奇妙的东西,可以让数据库的负载能力提高很多。 使用mycat后,可以对数据库进行分库,分表。把一个逻辑完整的数据库分成物理拆分的数据库。 Mycat背后是阿里曾经开源的知名产品——Cobar。Cobar的核心功能和优势是MySQL数据库分片, 此产品曾经广为流 阅读全文
posted @ 2020-05-25 15:26 战狂粗人张 阅读(221) 评论(0) 推荐(0) 编辑

摘要:一.概念 MySQL是一个开放源代码的关系数据库管理系统。原开发者为瑞典的MySQL AB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用。 2008年MySQL公司被Sun公司收购并发布了首个收购之后的版本MySQL5.1,该版本引入分区、基于行复制以及plugi 阅读全文
posted @ 2020-05-25 10:55 战狂粗人张 阅读(1861) 评论(0) 推荐(0) 编辑

摘要:一. 关联查询执行流程 总的来说,mysql认为任何一个查询都是一次关联,并不仅仅是一个查询需要用到两个表匹配才叫关联。 所以,在mysql中,每一个查询,每一个片段(包括子查询,甚至单表select)都可能是关联。 所以,理解mysql如何执行关联查询至关重要,先来看一个union的例子,对于un 阅读全文
posted @ 2020-04-16 18:36 战狂粗人张 阅读(556) 评论(0) 推荐(0) 编辑

摘要:前言: limit:基础用法:limit 的用法是 limit [offset], [rows],其中 offset 表示偏移值, rows 表示需要返回的数据行。 问题: mysql 的 limit 给分页带来了极大的方便,但数据偏移量一大,limit 的性能就急剧下降。 以下是两条查询语句,都是 阅读全文
posted @ 2020-03-24 21:57 战狂粗人张 阅读(1192) 评论(0) 推荐(0) 编辑

摘要:一.概述 简单来说 MySQL 主要分为 Server 层和存储引擎层: 1、Server 层: 主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog 日志模块。 2、存储引擎: 主要负责数 阅读全文
posted @ 2020-02-12 14:35 战狂粗人张 阅读(130) 评论(0) 推荐(0) 编辑

摘要:一.需求 一般业界,对订单数据的分库分表,有两类思路:按照订单号来切分、按照用户id来切分。 二.按照订单号来做 hash分散订单数据 把订单号看作是一个字符串,做 hash,分散到多个服务器去。 具体到哪个库、哪个表存储数据呢?订单号里面的数字来记录着。 如果要查询某用户的所有订单呢? 由于是根据 阅读全文
posted @ 2020-01-28 16:51 战狂粗人张 阅读(593) 评论(0) 推荐(0) 编辑

摘要:需求: 1、将其设计成一张表 DROP TABLE IF EXISTS `system_district`; CREATE TABLE `system_district` ( `district_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMM 阅读全文
posted @ 2019-11-11 09:54 战狂粗人张 阅读(1106) 评论(0) 推荐(0) 编辑

摘要:一.字符集 一般选择utf8.下面介绍一下utf8与utfmb4的区别。 utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的做什么项目了,unicode编码区从1 ~ 126就属于传统utf8区, 当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什 阅读全文
posted @ 2019-07-09 14:30 战狂粗人张 阅读(535) 评论(0) 推荐(0) 编辑

摘要:需求: 1、原始数据 2、处理结果演示 3、对应的sql语句 SELECT a.id, a. NAME, substring_index( substring_index( a.shareholder, ',', b.help_topic_id + 1 ), ',' ,- 1 ) AS shareh 阅读全文
posted @ 2019-05-28 14:42 战狂粗人张 阅读(180) 评论(0) 推荐(0) 编辑

摘要:需求: 举例: 存在一个用户来源表,用来标记用户从哪个渠道注册进来。 表结构如下: 其中 origin 是用户来源,其中的值有 iPhone 、Android 、Web 三种,现在需要分别统计由这三种渠道注册的用户数量。 解决方案一: SELECT COUNT(*) FROM user_operat 阅读全文
posted @ 2019-05-28 14:04 战狂粗人张 阅读(769) 评论(0) 推荐(0) 编辑

1 2 下一页