数据库,mysql
。
不要停止思考-jcn
向往美好生活
展开
-
mysql 一千行笔记
原文地址:https://www.cnblogs.com/shockerli/p/1000-plus-line-mysql-notes.html/* 启动MySQL */net start mysql/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL */mysqld --skip-grant-tabl...转载 2019-03-23 10:59:52 · 231 阅读 · 0 评论 -
mysql优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is nul...原创 2019-10-16 09:20:33 · 96 阅读 · 0 评论 -
索引以及索引的实现
索引介绍**索引:**排序形式的数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。索引的优点:索引不仅可以加快查询速度,还能避免全表扫描。减少I/O次数,加快检索速度;根据索引分组和排序,可以加快分组和排序;索引的缺点:索引本身是表,因此会占用存储空间,并且索...原创 2019-10-17 08:34:41 · 587 阅读 · 0 评论 -
从一张大表读取数据,如何解决性能问题
临时方案:备份数据,然后提供最近一段时间的数据查询,满足用户查询近期数据的需求,而较久远的历史数据,由产品或分析师手动提供查询,当然这只是临时方案,不可长期存在。方案比较:接入spark:优势:该方案操作简单,只要将数据导入到hive表,然后通过spark jdbc的方式连接即可可扩展性好,可存储上T的数据。不足:对资源的依赖相对较重,目前大数据这边有10台服务器,1台maste...原创 2019-10-17 08:32:09 · 587 阅读 · 0 评论 -
Statement和PreparedStatement之间的区别
mysql预编译:(不了解预编译可以阅读:https://www.cnblogs.com/micrari/p/7112781.html)在解释Statement与PreparedStatement之前,有必要来了解下mysql的预编译:通常我们的一条sql在db接收到最终执行完毕返回可以分为下面三个过程:词法和语义解析优化sql语句,制定执行计划执行并返回结果而MySQL执行...原创 2019-10-16 09:24:21 · 275 阅读 · 0 评论 -
数据库连接池
不使用数据库连接池的连接机制:为什么要使用数据库连接池,在使用数据库连接池之前先来看看没有使用数据库连接池的连接运行机制:过程:TCP建立连接的三次握手MySQL认证的三次握手真正的SQL执行MySQL的关闭TCP的四次握手关闭出现的问题:网络IO较多数据库的负载较高响应时间较长及QPS较低应用频繁的创建连接和关闭连接,导致临时对象较多,GC频繁在关闭连接后,会...原创 2019-10-16 09:23:11 · 166 阅读 · 0 评论 -
内连接,左连接,右连接作用及区别
区别:左连接:左边有的,右边没有的为null右连接:左边没有的,右边有的为null内连接:显示左边右边共有的原创 2019-10-16 09:21:11 · 4474 阅读 · 0 评论 -
mysql的几种存储引擎
数据库存储引擎的作用:在mysql中,数据是采用多种不同的技术存储在内存中的,而每一项技术都使用不同的存储机制、索引技巧、索引水平来提供不同的功能与能力。存储引擎也可以说为是数据库中的表类型,设定了存储引擎的数据表在数据存储方面、更新以及查询都会有相应的效果。存储引擎能够保护数据,控制访问权限和快速处理事务。存储引擎能够提供日常管理支持以优化数据库的性能。存储引擎主要有(9种):M...原创 2019-10-16 09:19:27 · 637 阅读 · 0 评论 -
利用mysql实现分页
利用MySQL来实现分页有多种:1.使用limit关键字来进行分页:limit函数的介绍:elect * from table limit m,n其中m是指记录开始的index,从0开始,表示第一条记录,n是指从第m+1条开始,取n条。所以我们就能限制m和n来达到分页效果。pageIndex是你的页数,pageSize是你每一页的数据大小select * from tb_test li...原创 2019-10-16 09:18:16 · 3742 阅读 · 0 评论 -
乐观锁与悲观锁的概念及实现方式
悲观锁:每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。例子:行锁、表锁、读锁、写锁、独占锁synchronized。存在的问题:每次都要加锁、释放锁,在多线程下,性能将成问题。一个线程持有锁会导致其它所有需要此锁的线程挂起。如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。数据库应用流程:...原创 2019-10-16 09:17:25 · 2987 阅读 · 0 评论 -
为什么需要锁,锁分类,锁粒度
为什么需要锁?很简单:数据库是多用户共享资源的,在并发环境下会破坏数据库的一致性,所以需要锁来控制它们。锁定机制分类:排他锁/X锁:仅允许一个事务封锁此页;其他任何事务必须等到排他锁被释放才能对该页进行访问;排他锁一直到事务结束才能被释放。共享锁/S锁:能够阻塞其他事务进行的锁,例如事务A+S锁,B事务就不能排他锁了,只能对A进行S锁,依次类推按有规划的执行。更新锁/U锁:更新锁在...原创 2019-10-16 09:16:50 · 1449 阅读 · 0 评论 -
数据库事务和隔离级别
什么是数据库事务?数据库事务是构成单一逻辑工作单元的操作集合例子:BEGIN TRANSACTION //事务开始SQL1SQL2COMMIT/ROLLBACK //事务提交或回滚事务成功的解决了因系统崩溃或者其他原因导致的任务执行中断而引起的数据异常。要么全部执行成功,要么全部不执行,不管事务是否执行成功,数据库总能保持一致性状态。问题解决方案:1.当数据库操作失败...原创 2019-10-16 09:16:10 · 140 阅读 · 0 评论 -
详细讲解数据库第一、第二、第三范式
什么是数据库范式在设计关系数据库的时候,要求遵循不同的规范,而这些规范就被称为范式。有如下的几种范式:第一范式(1NF):在关系数据库中,每张表的属性应该具有原子性。第二范式(2NF):在1NF基础上消除非主属性对主码的部分函数依赖,非码属性必须完全依赖于候选码。第三范式(3NF):在2NF基础上消除传递依赖,任何非主属性不依赖于其它非主属性。巴斯-科德范式(BCNF):在3NF基础...原创 2019-10-15 08:49:05 · 9921 阅读 · 2 评论