
MySQL
主要是阅读《高性能MySQL》所做的笔记
//Nevada
你只管努力,剩下的交给天意,早点毁灭吧。累了
展开
-
存储过程
存储过程(stored procedure)的定义它是在大型数据库系统中,一组为了完成特定功能的SQL语句,它存储在数据库中,一次编译永久有效。语法如下:CREATE DEFINER=`root`@`%` PROCEDURE ` ten_minute_procedure`(in input bool,in result bool)BEGINdeclare month varchar(...原创 2019-12-14 20:31:45 · 471 阅读 · 0 评论 -
数据库连接池
这次我们采取技术演进的方式来谈谈数据库连接池的技术出现过程及其原理,以及当下最流行的开源数据库连接池jar包。一、早期我们怎么进行数据库操作1、原理一般来说,Java应用程序访问数据库的过程是:①装载数据库驱动程序;②通过jdbc建立数据库连接;③访问数据库,执行sql语句;④断开数据库连接。2、代码// 查询所有用户Public void FindAllUsers(){...原创 2019-11-26 22:31:20 · 180 阅读 · 0 评论 -
MySQL的复制功能
复制解决的问题是让一台服务器的数据与其他的服务器保持同步。一台主库的数据可以同步到多台备库上去,备库本身也可以被配置成另外一台服务器的主库。从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即SQL查询的瓶颈,我们知道,正常情况下,Insert SQL就是几十个毫秒的时间内写入完成,而系统中的大多数Select SQL则要几秒到几分钟才能有结果,很多复杂的SQL,其消耗服务器...原创 2019-11-14 19:55:08 · 288 阅读 · 0 评论 -
Mycat和分库分表
Mycat和分库分表mycat是一种非常流行的分布式数据库中间插件,mycat的作用为满足数据库的大量存储,提高了查询性能,从架构的角度来理解就是前端用户可以把mycat看作是一个数据库的代理,核心功能是分库分表,即将一个大表水平分割为n个小表。千亿以下的数据规模仍然是数据库领域的专长,而 Hadoop 等这种系统,更适合的是千亿以上 的规模。所以,Mycat 适合 1000 亿条以下的单表规模...原创 2019-11-12 20:43:04 · 247 阅读 · 0 评论 -
EXPLIAN-修订版
查询优化必备神器—EXPLAIN学习解释EXPLAIN将帮助你了解MySQL优化器是如何工作的。要使用EXPLAIN,只需要在查询的SELECT关键字之前加上EXPLIAN这个词,MySQL会在查询上设置一个标志。当执行一个查询时,这个标志会使其返回在执行计划中每一步的信息,而不是执行它。增加EXPLAIN时在查询在FROM子句中包括子查询的情况下,会执行子查询。们使用EXPLAIN解析SQL...原创 2019-11-05 20:21:56 · 448 阅读 · 0 评论 -
LIMIT 10000,10会发生什么?
LIMIT分页优化进行分页操作时,通常都会通过偏移量来查询某些数据。然后再加上合适的order by子句, order by的列加上了索引,性能一般都不错,而如果没有对应的索引的话,MySQL则需要做大量的文件排序操作,对于文件排序操作,这里有说明。Limit 100000,10 会发生什么?Limit的语法是limit m,n 其中m是偏移量,n代表返回的数据条数。比如limit 0,3 ...原创 2019-11-03 20:28:09 · 4561 阅读 · 0 评论 -
面试官:如何优化sql
在面试的环节中,面试官问到:你是如何设计你的表结构的,画一下E-R图?接着 又继续深挖,如果有慢查询,你是如何优化你的sql的?今天,我就来和大家讲讲要怎么回答这道问题。首先,我们要稳住不要慌,自己是自己亲手做的项目,第一个问题应该都不大,第二个问题就需要在面试之前做好充分的准备啦…在回答问题之前先要了解查询的流程:查询是由一系列的子任务组成的,包括从客户端,到服务器,然后在服务器上进行解析,...原创 2019-10-31 22:26:45 · 1713 阅读 · 0 评论 -
事务和索引重新梳理
mysql中的事务mysql默认采用自动提交模式,也就是说,如果不是明显地开始一个事务,每个查询都会被当做一个事务执行提交操作,在当前连接中,可以通过设置AUTOCOMMIT变量来启动或者禁用自动提交模式,1表示启动。事务的ACID特性事务的原子性是指事务内的语句要么全部执行,要么全部执行失败。事务的一致性是指数据库总是从一个一致性的状态转移到另外一个一致性的状态。事务的隔离性是指一个事...原创 2019-10-30 20:30:43 · 171 阅读 · 0 评论 -
数据库锁
数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁。乐观锁一般是指用户自己实现的一种锁机制,假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。乐观锁的实现方式一般包括使用版本号和时间戳。悲观锁一般就是我们通常说的数据库锁机制,以下讨论都是基于悲观锁。悲观锁主要表锁、行锁、页锁。在...转载 2019-10-28 19:00:05 · 407 阅读 · 0 评论 -
共享锁浅析
共享锁浅析1 前言2 共享锁(s锁)1 前言数据库大并发操作要考虑死锁和锁的性能问题,看到网上大都语焉不详,在这里我想重新梳理一下共享锁,这里用T1代表数据库执行请求,T2代表另一个请求,T3,T4以此类推。2 共享锁(s锁)T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象) T2: update table set column...原创 2019-10-21 22:38:48 · 1251 阅读 · 0 评论 -
数据库连接查询
数据库题库整理第四题第二题第四题查找所有已经分配部门的员工的last_name和first_name创建表格语句CREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` char(4) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMA...原创 2019-10-20 23:30:40 · 195 阅读 · 0 评论 -
MySQL基础题初试
数据库题库整理第一题第二题第三题能力积分设定内容居中、居左、居右第一题查找入职员工时间排名倒数第三的员工所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) ...原创 2019-10-19 23:38:05 · 184 阅读 · 0 评论 -
数据库分片
文章目录什么是分片分片的好处分片的坏处基于范围的分片基于键的分片基于目录的分片目前用于拓展大型MySQL应用方案中,数据分片是最通用且成功的,把数据分割成一小块存储到不同的节点中去,大多数应用只会对需要的数据做分片。我们按照下面的流程图来解决分片:什么是分片[ 分片 ](Sharding)是一种与水平切分(horizontal partitioning)相关的数据库架构模式——将一个表里面的...原创 2019-10-18 20:56:23 · 540 阅读 · 0 评论 -
MySQL索引入门
MySQL最常用的B-Tree索引和哈希索引原创 2019-10-09 19:27:14 · 172 阅读 · 0 评论