Java核心知识盘点(一)- 数据存储
MySQL 索引使用的注意事项
1、索引的目的:在于提高查询效率,插入和更新的操作,数据库的操作是慢的,但是查询操作会非常快,索引可以对表中一个或多个字段进行加索引动作。
2、索引的类型:
1、唯一索引(unique):不可以出现相同的值,可以有null值
2、普通索引(index):允许出现相同的索引内容
3、主键索引(promary key):不允许出现相同的值
4、全文索引(fulltext index):可以针对值中的某个单词
5、组合索引:将多个字段建到一个索引里,列值的组合必须唯一
3、索引缺点:
1、虽然大大提高了查询速度,但也会降低更新表的速度。
2、建立索引会占用磁盘空间的索引文件
3、mysql一张表查询只能用到一个索引
4、like ‘%aaa%’不会使用索引,而like ‘aaa%’可以使用索引
5、不要在列上进行运算
说说反模式设计
说说分库与分表设计
分库与分表带来的分布式困境与应对之策
服务端指南 数据存储篇 | MySQL(09) 分库与分表带来的分布式困境与应对之策
说说 SQL 优化之道
MySQL 遇到的死锁问题
1、MySql有三级锁:页级、表级、行级
1、页级:开锁和加锁时间临界于表锁和行锁之间;会出现死锁;锁定粒度介于表锁和行锁之间
2、表锁:开销小,加锁快。不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
3、行锁:开销大、加锁慢。会出现死锁;锁定粒度小,发生锁冲突的概率最小
2、什么情况下会造成死锁
两个或两个以上的进程在执行过程中因争夺资源而造成的一种互相等待的现象。在没有外力的情况下,他们将无法推进下去。因为表级锁不会产生死锁,因此解决死锁主要还是针最常用的InnoDB.
Java核心知识盘点(一)- 数据存储的更多相关文章
- Java核心知识盘点(二)- 缓存使用
Redis有哪些数据类型 String.Hash.List.Set.ZSet String:字符串 Hash:哈希 Set:集合 List:列表 ZSet:有序集合 Redis内部结构 1.Redis ...
- Java核心知识盘点(三)- 框架篇-Spring
Spring的两大核心特性:IOC.AOP IOC:控制反转.依赖注入,它并不是一种技术实现,而是一种思想.把一些相互依赖对象的创建.协调工作交给Spring容器来管理,每个对象只需要关注其自身的业务 ...
- 分布式之redis核心知识盘点?
考虑到绝大部分写业务的程序员,在实际开发中使用redis的时候,只会setvalue和getvalue两个操作,对redis整体缺乏一个认知.又恰逢博主某个同事下周要去培训redis,所以博主斗胆以r ...
- Java基础知识盘点(二)- 集合篇
List和Set区别 List和Set都是继承Collection接口 List特点:元素有放入顺序,元素可重复 Set特点:元素无放入顺序,元素不可重复 Set和List对比: Set:检索元素效率 ...
- 阿里架构师花近十年时间整理出来的Java核心知识pdf(Java岗)
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 整理了一份Java核心知识点.覆盖了JVM.锁.并发.Java反射.Spring原理.微服务.Zooke ...
- 阿里 P8 高级架构师吐血总结的 《Java 核心知识整理&面试.pdf》| 免费分享
最近在网上发现一份非常棒的 PDF 资料,据说是阿里 P8 级高级架构师吐血总结的, 其中内容覆盖很广,包括 Java 核心基础.Java 多线程.高并发.Spring.微服务.Netty 与 RPC ...
- Java核心知识体系3:异常机制详解
1 什么是异常 异常是指程序在运行过程中发生的,由于外部问题导致的运行异常事件,如:文件找不到.网络连接失败.空指针.非法参数等. 异常是一个事件,它发生在程序运行期间,且中断程序的运行. Java ...
- ios 沙盒 NSCoding(相当于JAVA对象序列化) 归档 数据存储
通过NSCoding能实现像JAVA一样能够实现对象的序列化,可以保存对象到文件里. NSCoding 跟其他存储方式略有不同,他可以存储对象 对象存储的条件是: 对象需要遵守 NSCoding 协议 ...
- Java基础知识盘点(三)- 线程篇
创建线程的方式及实现 一.继承Thread类创建线程类 1.定义Thread的子类,并重写run方法,因为该方法的方法体就是代表了线程要完成的任务,因此run方法又叫做执行体. 2.创建Thread子 ...
随机推荐
- Redis 开发规范
本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明. 键值设计 命令使用 客户端使用 相关工具 通过本文的介绍可以减少使用Redis过程带来的问题. 一.键值设计 1.key名设计 ...
- 【Solution】idea中dtd没有找到
问题: idea中dtd没有找到 解决: 一般是相关依赖没有加进来,把相关依赖添加进来即可 在pom中添加依赖
- linux 查看是否安装了MySQL
yum 安装mysql yum -y install mysql-server ------------------------------------------------------- ...
- Cocos Creator JS web平台复制粘贴代码(亲测可用)
Cocos Creator JS web平台复制粘贴代码(亲测可用) 1 webCopyString: function(str){ var input = str; const el = docum ...
- Leetcode: The Maze II
There is a ball in a maze with empty spaces and walls. The ball can go through empty spaces by rolli ...
- Leetcode Articles: Insert into a Cyclic Sorted List
Given a node from a cyclic linked list which has been sorted, write a function to insert a value int ...
- 用html5实现音频播放器
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- HDFS组件性能调优:数据平衡
生产系统中什么情况下会添加一个节点呢? 1 增加存储能力 disk 2 增加计算能力 cpu mem 如果增加是的是存储能力,说明存储已接近饱和或者说过段时间就会没有剩余的空间给作业来用.新加的节点存 ...
- MQ消息队列配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- https://blog.csdn.net/uftjtt/article/details/79044186
https://blog.csdn.net/uftjtt/article/details/79044186