mysql
-
MySQL跨行事务模型(图文详解)



MySQL事务模型在网上也有很多的介绍,在写这篇文章之前本人也翻看了很多资料作为参考,以期让自己理解的更加深入全面。看了大多数介绍文章之后发现部分文章并不完整,比如有的只介绍了几种隔离级别下MySQL的表现,并没有从技术角度进行解读。有的文章说的倒很全面,但缺乏些许条理,读起来并不容易理解。这也是笔…
-
MySQL 千万级大数据 SQL 查询优化技巧详解



1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 %ignore_a_1%rder by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num i…
-
数据库哈希连接详解(MySQL新特性)



概述 很长一段时间,MySQL 执行 连接 的唯一算法是 嵌套循环算法 ( nested loop algorithm) 的变体 ,但是 嵌套循环算法 在某些场景下非常低效,也是 MySQL 一直被诟病的一个问题。 随着 MySQL 8.0.18 的发布,MySQL Server 可以使用哈希连接(…
-
如何理解mysql锁机制



mysql锁的概述 相对于其它数据库而言,MySQL的锁机制比较简单,其最 显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking)。BDB存储引擎采用的是页面锁(page-level locking),但也支持表级…
-
关于mysql中的时间进位问题的讲解



mysql更新到5.6.4 之后 , 新增了一个叫factional seconds的特性 , 可以记录时间的毫秒值。但是目前的数据库是不记录毫秒值的 , 所以会产生一个java中时间的milliseconds超过500就会四舍五入的问题。 下面是一个例子,演示了时间是如何进位的。首先创建一张表: …
-
通过实例讲解mysql如何实现定时任务



自mysql5.1.6起,增加了一个非常有特色的功能-事件调度器(event scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总、数据备份等等),来取代原先只能由操作系统的计划任务来执行的工作。 更值得一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作…
-
mysql重置root密码



对于数据库来说,如果忘记root用户的密码,那将是非常致命的,但是我们可以通过添加–ship-grant-tables参数来跳过权限表。 具体方法如下: 忘记root密码,进不去数据库: 这个时候需要强制停库,先查看MySQL进程号 Kill掉MySQL进程,命令如下: Kill完可以再查看是否还…
-
mysql数据如何生成PHP数组文件
实际上就是 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件。 取mysql数据步骤忽略 (1)利用serialize将数组序列化存储为文本文件,调用时候再使用unserialize还原 $file=’文件路径’; $array=array(‘s’=>…
-
关系数据库管理系统应能实现的专门关系运算包括什么



%ign%ignore_a_1%re_a_1%应能实现的专门关系运算包括什么? 关系数据库管理系统能实现的专门关系运算包括选择、投影、连接。 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。 相关介绍: 关系数据库管理系统(Relational Database Managemen…
-
MySQL中CHAR和VARCHAR的区别



前述 VARCHAR和CHAR是两种最主要的字符串类型。不幸的是,很难精确地解释这些值是怎么存储在磁盘和内存中的,因为这跟存储引擎的具体实现有关。下面的描述假设使用的存储引擎是InnoDB和/或者MyISAM。如果使用的不是这两种存储引擎,请参考所使用的存储引擎的文档。 先看看VARCHAR和CHA…