MySQL
文章平均质量分 82
mysql的SQL语言是用于访问数据库的最常用标准化语言
程序员黑哥
这个作者很懒,什么都没留下…
展开
-
使用MySQL悲观锁解决电商扣库存并发问题
昨天写了乐观锁《使用MySQL乐观锁解决电商扣库存并发问题》,有人提出想看悲观锁,所以今天我们就说一说如何抗悲观锁解决并发问题:悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。使用场景举例:以MySQL In原创 2020-07-22 15:06:07 · 400 阅读 · 0 评论 -
MySQL性能管理及架构设计(一):什么影响了数据库查询速度、什么影响了MySQL性能
一、什么影响了数据库查询速度1.1 影响数据库查询速度的四个因素1.2 风险分析QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。Tips:最好不要在主库上数据库备份,大型活动前取消这样的计原创 2020-06-09 15:49:32 · 196 阅读 · 0 评论 -
MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化
一、数据库结构优化(非常重要)1.1 数据库结构优化目的减少数据冗余:(数据冗余是指在数据库中存在相同的数据,或者某些数据可以由其他数据计算得到),注意,尽量减少不代表完全避免数据冗余;尽量避免数据维护中出现更新,插入和删除异常:总结:要避免异常,需要对数据库结构进行范式化设计。节约数据存储空间。提高查询效率。1.2 数据库结构设计步骤需求分析:全面了解产品设计的存储需求、数据处理需求、数据安全性与完整性;逻辑设计(重要):设计数据的逻辑存储结构。数据实体之间的逻辑原创 2020-06-09 15:50:48 · 189 阅读 · 0 评论 -
来自大佬洗礼!2020头条首发纯手打MySQL高级进阶笔记,吃透P7有望
作为后端程序员,日常与数据库打交道那是必不可少。除了基础操作增、删、改、查之外,面向数据的优化也是必不可少。想必大家曾经可能会遇到这样的问题:数据库查询慢,但是找不到源头?面对大量数据迁移无法下手?使用新一代容器技术 Docker,新的数据库问题又频繁冒出?那么,这些问题在现实的业务中如何解决?如果不参考前人的技术经验,解决这些问题?难。再者学好 MySQL 可以帮你获得 Offer 去任何一家公司面试,都离不开对数据库的考察,只有掌握了 MySQL 的技能,才能收获一份令自己满意的 Off原创 2021-08-13 15:45:44 · 282 阅读 · 0 评论 -
MYSQL中的COLLATE是什么?
在mysql中执行show create table 指令,可以看到一张表的建表语句,example如下:CREATE TABLE table1 (id bigint(20) unsigned NOT NULL AUTO_INCREMENT,field1 text COLLATE utf8_unicode_ci NOT NULL COMMENT ‘字段1’,field2 varchar(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT ‘’ COMMENT原创 2020-05-27 20:26:21 · 792 阅读 · 0 评论 -
从千万级数据查询,来聊一聊索引结构和数据库原理
在日常工作中我们不可避免地会遇到慢SQL问题,比如笔者在之前的公司时会定期收到DBA彪哥发来的Oracle AWR报告,并特别提示我某条sql近阶段执行明显很慢,可能要优化一下等。对于这样的问题通常大家的第一反应就是看看sql是不是写的不合理啊诸如:“避免使用in和not in,否则可能会导致全表扫描”“ 避免在where子句中对字段进行函数操作”等等,还有一种常见的反应就是这个表有没有加索引?绝...原创 2020-04-22 15:39:39 · 324 阅读 · 0 评论 -
跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现
提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)可以说涵盖了事务的全部知识点,所以,我们不仅要知道ACID是什么,还要了解ACID背后的实现,只有这样,无论在日常开发还是面试求职,都能无...原创 2020-04-22 15:31:54 · 139 阅读 · 0 评论 -
浅谈MySQL中优化sql语句查询常用的30种方法(sql优化)
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is nu...原创 2020-04-21 15:41:26 · 231 阅读 · 0 评论 -
Mysql 单表适合的最大数据量是多少?如何优化其性能?
我们说 Mysql 单表适合存储的最大数据量,自然不是说能够存储的最大数据量,如果是说能够存储的最大量,那么,如果你使用自增 ID,最大就可以存储 2^32 或 2^64 条记录了,这是按自增 ID 的数据类型 int 或 bigint 来计算的;如果你不使用自增 id,且没有 id 最大值的限制,如使用足够长度的随机字符串,那么能够限制单表最大数据量的就只剩磁盘空间了。显然我们不是在讨论这个问...原创 2020-04-20 16:38:05 · 23754 阅读 · 3 评论 -
阿里p8级技术大牛:带你深入浅出动态MySQL
前言今天我们来学习一下动态sql,看起来很NB的感觉。我们来看看官网是怎么来介绍动态sql的。动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。简而言之,就是可以根据不同的条件自动给我们...原创 2020-04-16 22:12:36 · 206 阅读 · 0 评论