![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
tinysakurac
蹒跚学步的猿
展开
-
了解分布式事务
转载自掘金前言不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱一手交货。有了事务,你去网上购物,扣款即产生订单交易。事务的具体定义事务提供一种机制将一个活...转载 2020-03-29 16:01:59 · 205 阅读 · 0 评论 -
MySQL间隙锁
转载自crazyYong的博客MySQL间隙锁你需要知道的之前我们介绍了排他锁,其实innodb下的记录锁(也叫行锁),间隙锁,next-key锁统统属于排他锁。行锁记录锁其实很好理解,对表中的记录加锁,叫做记录锁,简称行锁。生活中的间隙锁编程的思想源于生活,生活中的例子能帮助我们更好的理解一些编程中的思想。生活中排队的场景,小明,小红,小花三个人依次站成一排,此时,如何让新来...转载 2020-02-24 16:08:02 · 10245 阅读 · 8 评论 -
mysql中有哪些权限
一.权限表mysql数据库中的3个权限表:user 、db、 host权限表的存取过程是:1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;2)通过权限验证,进行权限分配时,按照useràdbàtables_privàcolumns_priv的顺序进行分配。即先检查全局权限表user,如果user...转载 2018-09-13 11:12:20 · 797 阅读 · 0 评论 -
mysql中使用正则表达式
MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2。请参见附录C:感谢。MySQL采用了扩展的版本,以支持在SQL语句中与REGEXP操作符一起使用的模式匹配操作。请参见3.3.4.7节,“模式匹配”。在本附录中,归纳了在MySQL中可用于REGEXP操作的特殊字符和结构,并给出了一些示例。本附录未包含可在Henry Spencer的regex(7)...转载 2018-09-13 13:34:26 · 386 阅读 · 0 评论 -
mysql中的前缀索引
高性能mysql之前缀索引 有时候需要索引很长的字符列,这会让索引变得大且慢。通常可以索引开始的部分字符,这样可以大大节约索引空间,从而提高索引效率。但这样也会降低索引的选择性。索引的选择性是指不重复的索引值(也称为基数,cardinality)和数据表的记录总数的比值,范围从1/#T到1之间。索引的选择性越高则查询效率越高,因为选择性高的索引可以让MySQL在查找时过滤掉更多的行。唯一索...转载 2018-09-13 16:15:18 · 398 阅读 · 0 评论 -
MySQL重复索引与冗余索引
《高性能MySQL》笔记-冗余和重复索引 MySQL允许在相同列上创建多个索引,无论是有意的还是无意的。MySQL需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个地进行考虑,这会影响性能。 重复索引是指在相同的列上按照相同的顺序创建的相同类型的索引。应该避免这样创建重复索引,发现以后也应该立即移除。重复索引 有时会在不经意间创建了重复的索引,例如下面的代码:...转载 2018-09-13 16:46:09 · 1212 阅读 · 0 评论 -
对于开发人员的mysql性能优化建议
转载自博客https://www.cnblogs.com/wangning528/p/6388538.html转载 2018-09-13 21:58:46 · 373 阅读 · 0 评论 -
mysql日志详解
转自:http://pangge.blog.51cto.com/6013757/1319304MySQL日志:主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志; 日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过...转载 2018-09-14 11:20:06 · 189 阅读 · 0 评论 -
java向MySQL中插入时间数据
一:各种Date之间的转换方法public class TimeTest { public static void main(String[] args) { Date date = new Date(); // 一、获取当前系统时间和日期并格式化输出: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:...转载 2018-09-19 16:15:22 · 7045 阅读 · 1 评论 -
给多个字段建立组合索引与在各个字段上单独建立索引的区别
转载自随心2017的博客聚合索引例如你有一个 学生表。字段包含 学号, 班级, 姓名,性别, 出生年月日。你创建一个 组合索引 ( 班级, 姓名)那么SELECT * FROM 学生表 WHERE 班级='2010级3班' AND 姓名='张三' 将使用索引.SELECT * FROM 学生表 WHERE 班级='2010级3班' 将使用索引...转载 2019-02-28 11:35:10 · 12598 阅读 · 1 评论 -
oracle nvl函数
转载自SUMSEN的博客使用nvl函数可以将一个空的值转换为实际的值,数据类型可以是日期,数字,字符。数据类型必须匹配: nvl(commision,0) nvl(hiredate,'01-JAN-87') nvl(job_id,'no manager') nvl(to_char(job_id),'no manager')nvl能够转换任何数据类型,但是转换的数据类型返回...转载 2019-07-11 13:41:25 · 962 阅读 · 0 评论 -
mysql的dml与dcl系列命令
整理了一下MySQL四种类型的指令,主要是dml与dcl系列命令的使用原创 2018-09-13 11:02:58 · 191 阅读 · 0 评论 -
mysql在哪些情况下不使用索引
2.1、like查询已 ‘%…’开头,以’xxx%’结尾会继续使用索引。 下图中第一句使用的%,没有使用索引,从rows为224147,使用索引rows为1。2.2 where语句中使用 <>和 !=2.3 where语句中使用 or,但是没有把or中所有字段加上索引。 这种情况,如果需要使用索引需要将or中所有的字段都加上索引。2.4 where语句中对字段表达式操作...转载 2018-08-21 21:11:32 · 2280 阅读 · 0 评论 -
mysql中ip的存取设计
场景设计,数据库如何存一个ip地址,如何设计索引和算法准确的查找一个ip与某个范围内的ip1.创建表及相关索引create table iptable(Ino int(10) PRIMARY key auto_increment,Iadress int(10))alter table iptable add index adress_index(Iadress)...原创 2018-08-24 18:35:03 · 1368 阅读 · 1 评论 -
数据库事务的ACID特性以及事务隔离级别
数据库事务的四大特性以及事务的隔离级别 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如...转载 2018-08-18 14:07:43 · 362 阅读 · 0 评论 -
数据库索引原理
深入浅出数据库索引原理 前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:“是不是数据库查询上出问题了, 给表加上索引吧”,然后妹子来了一句:“现在我们网站访问量太大,加索引有可能导致写入数据时性能下降,影响...转载 2018-08-18 14:18:59 · 112 阅读 · 0 评论 -
Mysql存储引擎
四种mysql存储引擎 前言数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。存储引擎查看MySQL给开发者提供了查询存储引擎的功能,我这里使...转载 2018-08-18 15:23:32 · 99 阅读 · 0 评论 -
MySql中BTree索引的实现原理以及使用的总结
总结自RunningSnail的博客https://www.cnblogs.com/tgycoder/p/5410057.html原创 2018-08-24 10:16:03 · 4057 阅读 · 0 评论 -
mysql中一条sql语句的执行过程
SQL是一套标准,全称结构化查询语言,是用来完成和数据库之间的通信的编程语言,SQL语言是脚本语言,直接运行在数据库上。同时,SQL语句与数据在数据库上的存储方式无关,只是不同的数据库对于同一条SQL语句的底层实现不同罢了,但结果相同。这有点类似于java中接口的作用,一个接口可以有不同的实现类,不同的实现类对于接口中方法的实现方式可以不同,结果可以相同。这里SQL语言的作用就类似于java中的接...转载 2018-08-24 14:42:57 · 316 阅读 · 0 评论 -
使用explain分析sql的执行性能
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where …]例如:explain select * from news;输出:+—-+————-+——...转载 2018-08-24 14:49:34 · 364 阅读 · 0 评论 -
mysql全文索引
使用索引是数据库性能优化的必备技能之一。在MySQL数据库中,有四种索引:聚集索引(主键索引)、普通索引、唯一索引以及我们这里将要介绍的全文索引(FULLTEXT INDEX)。全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。它能够利用「分词技术「等多种算法智能分析出文本文字中关键字词的频率及重要性,然后按照一定的算法规则智能地筛选出我们想要的搜索结果。在这里,我们就不追根究底其底层...转载 2018-08-24 15:56:02 · 179 阅读 · 0 评论 -
mysql使用中文的全文索引(注意只有5.7.6以上的版本支持)
前言其实全文检索在MySQL里面很早就支持了,只不过一直以来只支持英文。缘由是他从来都使用空格来作为分词的分隔符,而对于中文来讲,显然用空格就不合适,需要针对中文语义进行分词。这不,从MySQL 5.7开始,MySQL内置了ngram全文检索插件,用来支持中文分词,并且对MyISAM和InnoDB引擎有效。在使用中文检索分词插件ngram之前,先得在MySQL配置文件里面设置他的分词大小,...转载 2018-08-24 16:50:03 · 4675 阅读 · 1 评论 -
mysql mvcc实现机制
轻松理解MYSQL MVCC 实现机制1. MVCC简介1.1 什么是MVCC MVCC是一种多版本并发控制机制。1.2 MVCC是为了解决什么问题? 大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制.事实上,他们都和MVCC–多版本并发控制来一起使用. 大家都应该知道,锁机制可以控制并发操作,但是其系统开销较大,而MVC...转载 2018-08-21 18:41:48 · 153 阅读 · 0 评论 -
MySql中的乐观锁与悲观锁
【MySQL】悲观锁&amp;乐观锁 悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍。悲观锁(Pessimistic Lock) 悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新”即指的是使用悲观...转载 2018-08-18 13:14:20 · 121 阅读 · 0 评论