![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
Mr_Faker
这个作者很懒,什么都没留下…
展开
-
MySQL负载均衡 & 读写分离
在庞大的数据量应用系统中,除了使用复制策略实现数据库高可用之外,还可结合业务功能,将数据也以模块划分,存入不同的db服务器中。 在高并发负载均衡(一)——企业架构分析和DNS中提高对应网站高并发的主要集中在两处,web服务的高并发和数据库高并发;应对web服务的高并发在前面系列博文中有所介绍,使用各种负载方式均发访问量到不同的服务器不失为良好的策略。数据库高并发同样可通过负载均衡得以...转载 2018-07-09 14:10:22 · 618 阅读 · 0 评论 -
储存过程和触发器
什么是存储过程 存储过程:是一组SQL命令集合,经过预编译存放在系统中在日常的数据库操作中,会有大量的T-SQL批处理、游标,如果每次都要去重写或者打开脚本来执行会相当麻烦,数据库可以将我们编写的T-SQL批处理保存在一个处理过程中,就像java程序里的方法,可以重复的被调用,这个被保存的处理过程在数据库中叫存储过程,和程序中的方法一样,同样可以根据需要设置参数、和返回值。存储过程...转载 2018-08-03 14:59:39 · 422 阅读 · 0 评论 -
SQL优化
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t ...转载 2018-07-24 11:27:10 · 120 阅读 · 0 评论 -
mybatis中"#"和"$"的区别
动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。 在下面的语句中,如果 username 的值为 zhangsan,则两种方式无任何区别: select * from user where name...转载 2018-07-24 10:01:30 · 145 阅读 · 0 评论 -
MySQL数据库索引学习总结
人们时常把索引比作是书本的目录,是一种用来提高数据库查询效率的方法,通过在指定字段上创建索引来提高查询效率;那么为什么使用索引可以提高效率,以及如何添加,删除和查询索引,查询创建的索引是否真正起作用,注意事项等,一一说明:索引的定义:对数据库中某一列或者多列(创建索引时指定)中的值进行排序并与表中结构一一映射的数据结构;索引生成的具体数据结构,有可能各不相同;这属于索引的具体实现;不在此做讨论...转载 2018-07-18 09:22:47 · 388 阅读 · 0 评论 -
对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解
乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。通常实现是这样的:在表中的数据进行操作时(更新),先给数据表加一个版本(version)字段,每操作一次,将那条记录的版本号加1。也就是先查询出那条记录,获取出versi...转载 2018-07-23 17:10:26 · 152 阅读 · 0 评论 -
MySQL性能调优
MySQL性能调优方案1、选择合适的CPU 当前数据库应用类型一般分为两类:OLTP(在线事物处理)、OLAP (在线分析处理) ,OLAP多用于数据仓库或数据集市中,一般需要执行复杂的SQL语句查询;OLTP多用于日常事物处理中,入银行交易。相比于OLAP,OLTP数据库容量相对较小。 InnDB一般都应用于OLTP数据库应用,这种应用的特点有: ...原创 2018-06-30 21:01:01 · 150 阅读 · 0 评论 -
LSM树(Log-Structured Merge Tree 日志结构合并树)存储引擎
LSM树(Log-Structured Merge Tree)存储引擎代表数据库:nessDB、leveldb、hbase等核心思想的核心就是放弃部分读能力,换取写入的最大化能力。LSM Tree ,这个概念就是结构化合并树的意思,它的核心思路其实非常简单,就是假定内存足够大,因此不需要每次有数据更新就必须将数据写入到磁盘中,而可以先将最新的数据驻留在内存中,等到积累到最后多之后,再使用归...转载 2018-07-05 11:08:29 · 1024 阅读 · 0 评论 -
大数据SQL查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t ...转载 2018-07-03 09:34:07 · 299 阅读 · 0 评论 -
数据库三范式
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。所以这里就只记录三范式相关的知识。三范式1NF:字段不可分...转载 2018-07-10 20:37:10 · 177 阅读 · 0 评论 -
数据库分库分表
分库分表产生的问题,及注意事项1. 分库分表维度的问题假如用户购买了商品,需 要将交易记录保存取来,如果按照用户的纬度分表,则每个用户的交易记录都保存在同一表中,所以很快很方便的查找到某用户的购买情况,但是某商品被购买的情 况则很有可能分布在多张表中,查找起来比较麻烦。反之,按照商品维度分表,可以很方便的查找到此商品的购买情况,但要查找到买人的交易记录比较麻烦。 所以常见的解决...转载 2018-08-08 10:05:44 · 286 阅读 · 0 评论