数据库
文章平均质量分 55
抽离的心
其实我们大家的努力程度还远远没有到拼智商的程度(⊙o⊙)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解分布式事务
1、什么是分布式事务 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。2、分布式事务的产生...转载 2018-05-17 20:16:27 · 205 阅读 · 0 评论 -
数据库事务简单分析
1.数据库事务概述 数据库锁是实现并发控制的主要方法,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。 一般来说,锁可以防止脏读、不可重复读和幻读。√: 可能出现 ×: 不会出现 脏读不可重复读幻读Read uncommitted√√√Read committed×√√Repeatable read××√Serializable×××2.脏读(Dirt...原创 2018-06-02 16:12:13 · 720 阅读 · 0 评论 -
Statement 和 PreparedStatement之间的关系和区别
1.Statement 和 PreparedStatement之间的关系和区别. 关系:PreparedStatement继承自Statement,都是接口 区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高 2.PreparedStatement详解 PreparedStatement:表示预编译的 SQL 语句的对象。接...转载 2018-07-08 18:41:48 · 371 阅读 · 0 评论 -
千万级规模高性能、高并发的网络架构经验分享
1.架构以及我理解中架构的本质 在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上要重视它,战术上又要藐视它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步Uber,从媒体公布的信息看,它每天接单量平均在百万左右, 假如每天有10个小时的服务时间,平均QPS只有30左右。对于一个后台服务器,单机的平...转载 2018-07-08 23:50:17 · 465 阅读 · 0 评论 -
逻辑主键、业务主键和复合主键
1.概念定义主键(PRIMARY KEY):表通常具有包含唯一标识表中每一行的值的一列或一组列。这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性。 外键(FOREIGN KEY):外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。在外键引用中,当一个表的列被引用作为另一个表的主键值的列时,就在两表之间创建了链接。这个列就成为第二个表的外键。 聚集索引:聚集索引...转载 2018-07-17 00:09:49 · 4114 阅读 · 0 评论 -
为什么Elasticsearch查询速度比B-tree块?
1.Elasticsearch简介 Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型数据库的b-tree索引快在哪里?到底为什么快呢?笼统的来说,b-tree索引是为写入优化的索引结构。当我们不需要支持快速的更新的时候,可以...转载 2018-07-12 22:15:56 · 14451 阅读 · 7 评论 -
Windows系统MySQL忘记root密码解决方法
Windows下MySql找回root密码步骤: 1.以系统管理员身份运行cmd. 2.查看mysql是否已经启动,如果已经启动,就停止:net stop mysql. 3.切换到MySQL安装路径下:D:\WAMP\MySQL-5.6.36\bin;如果已经配了环境变量,可以不用切换了。 4.在命令行输入:mysqld -nt --skip-grant-tables 5.重启以管理员身...原创 2018-07-06 14:42:10 · 5764 阅读 · 0 评论 -
数据库分组查询最大值问题
1.初始化数据库表和数据SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for employee-- ----------------------------DROP TABLE IF EXISTS `employee`;CREATE T...原创 2018-07-29 13:06:31 · 1022 阅读 · 0 评论 -
Mysql分组取每组前几条记录
1.数据库表初始化 表mygoods为商品表,cat_id为分类id,goods_id为商品id,status为商品当前的状态位(1:有效,0:无效)。建表语句如下所示:CREATE TABLE `mygoods` ( `goods_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `cat_id` int(11) NOT NULL ...原创 2018-07-15 16:11:11 · 9316 阅读 · 4 评论 -
分布式开发redis的重要性
文章内容提要:本文围绕以下几点进行阐述1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如何解决redis的并发竞争问题正文1、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个...转载 2018-06-23 13:09:38 · 5429 阅读 · 1 评论 -
MySql数据的库优化
1.数据库基本操作少用in关键字,用exist替换in关键字;用“>=”替换“>”,用exists替换distinct;用union、in替换or;select语句中避免使用*,用truncate替换delete;用where子句替换having子句;使用别名可以大大提高查询效率;只选取想要的属性字段;2.MySql性能优化顺序优化SQL和索引;加缓存redis、memcache;主从...原创 2018-06-02 21:14:44 · 307 阅读 · 0 评论 -
Redis分布式锁实现
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性 首先,为了确保分布式锁可用,我们至少要确保锁...转载 2018-05-07 20:02:53 · 215 阅读 · 0 评论 -
数据悲观锁和乐观锁
锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的 “ 锁 ” ,即给我们选定的目标数据上锁,...转载 2018-05-07 19:45:16 · 299 阅读 · 0 评论 -
Mysql导出数据字典
Mysql数据库导出数据字典:SELECT TABLE_SCHEMA as '数据库名称', TABLE_NAME as '表字段名', COLUMN_NAME as '列字段名', COLUMN_TYPE as '列字段类型', COLUMN_KEY as '字段约束类型', EXTRA as '字段自增', IS_NULLABLE as '是否为空', COLUMN_...原创 2018-04-30 17:29:07 · 1424 阅读 · 0 评论 -
Redis缓存数据库深入理解
1.redis基本介绍 redis单机存量最大数据为7500万~8500万(开启redis虚拟内存功能),内存占用大约13G。相同数据模型,在13G内存下,redis保存的数据为8千万,memcached保存的数据为1亿;memcached写性能比redis性能要高;且达到内存上线时:memcached的只在临界点有点波动,而redis性能急剧下降(子进程dump数据及每秒产生大量页面错误)...原创 2018-05-14 22:53:25 · 584 阅读 · 0 评论 -
mysql 数据库引擎详解
一、数据库引擎 数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)。二、数据库引擎任务 在数据库引擎文档中,各主题的顺序遵循用于实现使用数...转载 2018-05-21 20:44:04 · 318 阅读 · 0 评论 -
AOP事物部分回滚的原因
1.概述Spring AOP 默认对RuntimeException()异常或是其子类进行事务回滚,也就是说: 事务回滚:throw new RuntimeException("xxxxxxxxxxxx"); 事物不回滚:throw new Exception("xxxxxxxxxxxx"); 那么,如何在抛出Exception或者自定义异常时,事务也进行回滚呢?有以下几种方案:在捕...原创 2018-05-21 22:51:21 · 1106 阅读 · 0 评论 -
数据库索引类型及实现方式
1.索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。2.索引的优缺点优点: 1.大大加快数据的检索速度; 2.创建唯一性索引,保证数据库表中每一行数据的唯一性...转载 2018-05-21 23:00:40 · 3177 阅读 · 0 评论 -
MySQL数据库引擎
MyISAM存储引擎 不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表,支持3种不同的存储格式,分别是:静态表;动态表;压缩表静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空...原创 2018-06-02 20:42:00 · 247 阅读 · 0 评论 -
一条SQL查询语句是如何执行的?
一、MySQL执行引言 看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于 MySQL 的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时:mysql> select * from T where ID=10; 我们看到的只...转载 2018-12-19 09:32:00 · 541 阅读 · 0 评论
分享