MySQL
木木木是我
这个作者很懒,什么都没留下…
展开
-
安装MariaDB
MariaDB官网 ---https://mariadb.org/1点击Download:2.选择版本3. windows系统直接选择,下载即可4.linux系统选择 制定工具5.选择系统6.如果是centos 7 如下图:7. 选择10.4稳定版,会出现下面部分:8.点击该链接 进入库:9.点击rpms...原创 2020-03-05 00:17:56 · 1581 阅读 · 0 评论 -
主从复制准备
主从复制 (集群在数据库的一种实现方式)集群;1.负载均衡2.失败迁移一台主数据库 一台从数据库读写分离安装如果要远程连接数据库 则需要授权远程访问授权远程访问GRANT ALL PRIVILEGES ON *.* TO 'ROOT'@'%' IDENTIFIED BY 'ROOT'WITH GRANT OPTION FLUSH PRIVILEGE...原创 2019-10-24 14:26:32 · 289 阅读 · 0 评论 -
MySQL 锁机制
锁机制: 解决因资源共享 而造成的并发问题。示例: 买最后一件衣服分类:操作类型分:a.读锁(共享锁):对同一个数据 多个读操作可以同时进行 互不干扰 b.写锁(互斥锁):如果当前写操作没有完毕() 则无法进行其他的读锁,写锁操作范围分:a.表锁:一次性对一张表整体加锁。如MyISAM存储引擎使用表锁,开销小,加锁快:无死锁,但锁的范围大 容易发生锁冲突 并...原创 2019-10-24 14:20:05 · 517 阅读 · 0 评论 -
SQL 慢查询日志、模拟分析海量数据、查询全局日志
SQL排查--- 慢查询日志: MySQL提供的一种日志记录用于记录MySQK中响应时间超过 阀值 的 sql语句 (long_query)慢查询日志默认是关闭建议:开发调优是打开 而最终部署时关闭检查是否开启了慢查询日志show variables like '%slow_query_log';临时开启:set global slow_query_log=1...原创 2019-10-24 14:09:53 · 513 阅读 · 0 评论 -
多表优化及避免索引失效原则 及 一些其他优化方法
左连接:select * from teacher t left outer join course2 c on t.cid = c.cid where cname ='java'索引往哪张表加? -- 小表驱动大表where 小表.x = 大表.yex:小表:10 大表:300但是 对于 双层循环当编写 on t.cid = c.cid 语句时 将数据量小...原创 2019-10-24 13:59:38 · 446 阅读 · 0 评论 -
sql执行计划 explain 以及结合索引 优化sql
SQL性能问题a.分析SQL的执行计划:explain ,可以模拟sql优化器执行sql语句从而让开发人员知道自己编写的b.MySQL查询优化其会干扰我们的优化MySQL官网的 sql优化教程:https://dev.mysql.com/doc/refman/5.5/en/optimization.html查询执行计划 :explain + SQL语句explain...原创 2019-10-24 11:33:59 · 718 阅读 · 0 评论 -
SQL关键字执行顺序,优化,索引概念
Sql 优化:原因:性能低,执行时间太长,等待时间太长,sql语句欠佳,连接查询,索引失效,服务器参数设置不对编写过程: select...dinstinct .. from ..join ..on ..where..group by ...having ..order by ..limit ..解析过程: from .. on ...join ..where .....原创 2019-10-24 11:06:56 · 1300 阅读 · 0 评论 -
步步深入:MySQL架构总览->查询执行流程->SQL解析顺序
作者:AnnsShadoW参考地址 http://www.cnblogs.com/annsshadow/p/5037667.html转载 2019-10-08 15:30:34 · 147 阅读 · 0 评论 -
索引优化
如果针对sql语句已经没啥可以优化的,那我们就要考虑加索引了。 一、索引的概要: 索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个...原创 2019-10-08 14:22:44 · 199 阅读 · 0 评论 -
Sql优化
一.SQL优化1.Sql优化就是指语句在执行的时候效率不是那么乐观所以提高Sql优化就是指在数据库的执行速度的。可通过配置搜索引擎, 加索引, 分库分表, 对Sql的各列进行精确取其范围值, 尽量避免全局扫描2.Sql优化的规则:不要有超过5个以上的表连接(JOIN) 考虑使用临时表或表变量存放中间结果。 少用子查询 视图嵌套不要过深,一般视图嵌套不要超过2个为宜。 ...原创 2019-10-08 14:08:32 · 218 阅读 · 0 评论 -
MySQL 之 查询执行计划EXPLAIN
最近需要用到了mysql中一个关键字EXPLAIN,即执行计划。主要的作用就是帮助我们了解我们写出来的sql语句 mysql是怎么处理的,可以模拟优化器执行SQL查询语句,并分析我们的查询语句或是表结构的性能瓶颈,进行下一步优化。查阅了很多优秀的博客,故在此进行一下总结。一、EXPLAIN简介名词:QEP: Query Execution Plan,查询执行计划。语法...原创 2018-12-27 15:03:46 · 458 阅读 · 0 评论 -
事务
回顾一下事务:一、事务特性:acid(1)原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。(2)一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态 变换到 另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处...原创 2018-10-31 17:34:31 · 153 阅读 · 0 评论 -
玩转大数据之——通过java操作office/wps的 EXCEL
操作Office文档,要用到apache公司的一个工具包: poi-3.7-20101029.jarpoi插件的使用方式类似dom技术 不同版本: 接下来进行演示功能:1.用纯Java技术实现创建一个名为a.xls的文件(工作薄),在其中新建一个"表1"的sheet,往B9单元格填入"湖南aa"@Test public void mkXls() t...原创 2018-09-23 11:45:30 · 9825 阅读 · 1 评论 -
玩转MySQL———自己写的 数据库连接池 结合事务
之前写的 数据库连接JDBC工具类只是最简单的版本,接下来继续进行升级。。。 这个版本是数据库连接池(根据底层原理自己写的)的第一个版本:数据库连接池---v1---用户需要手动调用Conn2Utils.back(con)把连接还回池中:首先, 池我们一般都用集合来做,于是定义如下://创建一个池 private static List<Connection> ...原创 2018-09-23 00:16:31 · 474 阅读 · 0 评论 -
玩转MySQL -----处理大数据对象
一、大数据对象简介 1.LOB(Large Object,大型对象)类型的字段现在用得越来越多了。因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据量非常大的业务领域(如图象、档案等)。 2.LOB类型分为BLOB和CLOB两种:BLOB即二进制大型对象(Binary Large Object),适用于存贮非文本的字节流数据(如程序、...原创 2018-09-22 12:49:12 · 1833 阅读 · 0 评论 -
玩转MySQL(4)---多表关联
一、首先,我们可以查看数据库的各种变量:1.SHOW VARIABLES 查看数据库的变量2.查看当前数据库的编码SHOW VARIABLES WHERE variable_name LIKE 'character%';3.解决中文乱码,如下三个编码保持一致就可以。character_set_client、character_set_connection、charact...原创 2018-09-17 17:19:25 · 21795 阅读 · 0 评论 -
玩转MySQL———存储过程 V2
存储过程定义:create procedure 过程名(参数)begin多条sql语句end调用:call 过程名(实参) 实例1--无参的存储过程:△小细节:要把默认的语句结束“;”号改成其它如“$$”,这样存储过程中定义的分号就不被看成是语句结束(否则会直接被提交)最后再把“;”号还原成默认的结束符。 delimiter $$ ...原创 2018-09-18 00:10:31 · 313 阅读 · 0 评论 -
玩转MySQL ----- 自己写的数据库连接池引入线程池
这里继续更JDBC的工具类,应该是V5版本了:V5版本引入了线程池,为了后面项目service层方便进行事务操作:创建线程池: private static ThreadLocal<Connection> t=new ThreadLocal<Connection>();package cn.hncu.pub;import java.lang.reflec...原创 2018-09-23 17:15:03 · 755 阅读 · 0 评论 -
玩转MySQL(1)-----安装MySQL
windows下mysql免安装配置1、 下载mysql免安装压缩包下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx642、 修改配置文件复制my-default.ini为my.ini 文件3、 修改my.inidefault-character-set = GBK 在[mysqld] 组:charact...原创 2018-09-13 21:01:24 · 171 阅读 · 0 评论 -
MYSQL 字符集问题
【知识性文章转载】MYSQL 字符集问题MySQL的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次:服务器(server),数据库(database),数据表(table)和连接(connection)。1.MySQL默认字符集MySQL对于字符集的...转载 2018-09-14 09:21:25 · 140 阅读 · 0 评论 -
玩转MySQL (2)---MySQL基本操作
1.登录:mysql -uroot -p1234 或 mysql -u root -p1234更安全的登录方式: mysql -u root -p回车 --> 输入密码2.show databases;2.use ab;3.show tables;4.创建数据库(若不存在则创建),并设置utf-8编码create database IF NOT EX...原创 2018-09-14 11:14:33 · 398 阅读 · 0 评论 -
玩转MySQL (3)---DML
1.CREATE TABLE stud(sno VARCHAR(18) NOT NULL PRIMARY KEY,sname VARCHAR(15) NOT NULL,age INT,saddress VARCHAR(30)); 2.ALTER TABLE stud ADD COLUMN sex CHAR;ALTER TABLE stud DROP COLUMN...原创 2018-09-14 13:29:32 · 294 阅读 · 0 评论 -
玩转MySQL——事务
事务处理DELETE FROM stud WHERE id='P006';START TRANSACTION;DELETE FROM stud WHERE id='P011';UPDATE stud SET NAME='abc' WHERE id='P003';ROLLBACK / COMMIT;说明:从"START TRANSACTION"开始 到 “ROLLBAC...原创 2018-09-21 17:00:12 · 131 阅读 · 0 评论 -
玩转MySQL ------使用java获取数据库的原信息
玩转数据库的元信息操作,主要是两个类:1) DatabaseMetaData类: 包含驱动信息、数据库名、表名(视图、存储过程等)通过con.getMetaData()可获得一个DatabaseMetaData类对象2) ResultSetMetaData类: 包含表结构相关的信息,如:列(字段)的个数、名字、类型和属性等信息 通过rs.getMetaData()可获得一个R...原创 2018-09-21 17:20:16 · 5733 阅读 · 0 评论 -
玩转MySQL -----JDBC 的批处理
自动增长(只有int型可以自动增长)除了在数据库图形界面设置外:还可以在java中用这句代码:st.executeUpdate(sql,Statement.RETURN_GENERATED_KEYS);statement//获取insert时生成的自动增长列如id @Test //Statement public void saveAutoIncrement1() thr...原创 2018-09-22 12:20:43 · 363 阅读 · 0 评论 -
玩转MySQL -----当java邂逅MySQL
https://dev.mysql.com/downloads/file/?id=480090 这是jar包,找到并下载好。并导入MyEclipse中自己项目的lib文件夹下:然后就可以开始快乐的玩耍了~java连接数据库 版本1:package cn.hncu;import java.sql.Connection;import java.sql.DriverMana...原创 2018-09-17 00:18:09 · 232 阅读 · 0 评论